gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r1759 - GNUnet-docs/papers/ecrs


From: grothoff
Subject: [GNUnet-SVN] r1759 - GNUnet-docs/papers/ecrs
Date: Fri, 19 Aug 2005 14:48:00 -0700 (PDT)

Author: grothoff
Date: 2005-08-19 14:47:43 -0700 (Fri, 19 Aug 2005)
New Revision: 1759

Modified:
   GNUnet-docs/papers/ecrs/main.aux
   GNUnet-docs/papers/ecrs/main.dvi
   GNUnet-docs/papers/ecrs/main.log
   GNUnet-docs/papers/ecrs/main.pdf
   GNUnet-docs/papers/ecrs/main.ps
   GNUnet-docs/papers/ecrs/main.tex
Log:
formatting

Modified: GNUnet-docs/papers/ecrs/main.aux
===================================================================
--- GNUnet-docs/papers/ecrs/main.aux    2005-08-19 21:33:23 UTC (rev 1758)
+++ GNUnet-docs/papers/ecrs/main.aux    2005-08-19 21:47:43 UTC (rev 1759)
@@ -44,9 +44,9 @@
 \citation{maymounkov02kademlia,stoica01chord}
 \citation{mazires00sfs}
 \citation{mazieres02building}
-\citation{stratton_oakmont}
 address@hidden {subsection}{\numberline {2.6}Gnutella and 
FastTrack}{7}{subsection.2.6}}
 address@hidden {subsection}{\numberline {2.7}Distributed File 
Systems}{7}{subsection.2.7}}
+\citation{stratton_oakmont}
 \citation{hartman99swarm}
 \citation{ebe2003}
 \citation{clark99distributed}
@@ -88,17 +88,17 @@
 \newlabel{keywords}{{4.1}{16}{Keyword inference\relax }{subsection.4.1}{}}
 address@hidden {subsection}{\numberline {4.2}Directories}{16}{subsection.4.2}}
 \citation{bloom}
address@hidden {figure}{\numberline {5}{\ignorespaces  ECRS allows the 
formation of complicated network structures. In this example, the {\em  SBlock} 
of pseudonym \relax $\@@underline {\hbox {\it  {Alice}}}\mathsurround \z@ 
$\relax  eventually allows to retrieve two of the documents encoded in the 
system, as does {\em  Kblock} for keyword ``food. Boxes denote simple blocks 
that serve as entry-points. The directory and the documents consist of a tree 
of possibly many CHK-encoded blocks. Searching for keyword ``soda'' would 
return two results pointing to different resources. Note that all the encoded 
resources, including the one document with no pointers to it, can be retrieved 
by knowing the CHK keys of their root {\em  IBlock}s. }}{17}{figure.5}}
+\newlabel{fig:network}{{5}{17}{Directories\relax }{figure.5}{}}
address@hidden {subsection}{\numberline {4.3}Efficient lookups with bloom 
filters}{17}{subsection.4.3}}
 \citation{freehaven-berk,mojotech}
 \citation{rabin89efficient}
address@hidden {subsection}{\numberline {4.3}Efficient lookups with bloom 
filters}{17}{subsection.4.3}}
address@hidden {section}{\numberline {5}Discussion}{17}{section.5}}
-\newlabel{discussion}{{5}{17}{Discussion\relax }{section.5}{}}
address@hidden {section}{\numberline {5}Discussion}{18}{section.5}}
+\newlabel{discussion}{{5}{18}{Discussion\relax }{section.5}{}}
 address@hidden {subsection}{\numberline {5.1}Attacks}{18}{subsection.5.1}}
 \citation{levien03advogato}
 \citation{esed}
 address@hidden {subsection}{\numberline {5.2}{\em  KBlocks} or 
triple-hash}{19}{subsection.5.2}}
address@hidden {section}{\numberline {6}Conclusion}{20}{section.6}}
-\newlabel{conclusion}{{6}{20}{Conclusion\relax }{section.6}{}}
 \bibstyle{plain}
 \bibdata{ref}
 \bibcite{anderson96eternity}{1}
@@ -108,6 +108,8 @@
 \bibcite{clark99distributed}{5}
 \bibcite{cohen02replication}{6}
 \bibcite{cfs:sosp01}{7}
address@hidden {section}{\numberline {6}Conclusion}{21}{section.6}}
+\newlabel{conclusion}{{6}{21}{Conclusion\relax }{section.6}{}}
 \bibcite{dingledine02mixminion}{8}
 \bibcite{freehaven-berk}{9}
 \bibcite{farsite}{10}

Modified: GNUnet-docs/papers/ecrs/main.dvi
===================================================================
(Binary files differ)

Modified: GNUnet-docs/papers/ecrs/main.log
===================================================================
--- GNUnet-docs/papers/ecrs/main.log    2005-08-19 21:33:23 UTC (rev 1758)
+++ GNUnet-docs/papers/ecrs/main.log    2005-08-19 21:47:43 UTC (rev 1759)
@@ -1,4 +1,4 @@
-This is pdfeTeX, Version 3.14159-1.10b-2.1 (Web2C 7.4.5) (format=pdflatex 
2005.8.6)  19 AUG 2005 14:34
+This is pdfeTeX, Version 3.14159-1.10b-2.1 (Web2C 7.4.5) (format=pdflatex 
2005.8.6)  19 AUG 2005 14:53
 entering extended mode
 **main.tex
 (./main.tex{/usr/share/texmf/pdftex/config/pdftex.cfg}
@@ -490,47 +490,47 @@
 SVJour warning: Missing \journalname
 SVJour warning: Missing \date
 LaTeX Font Info:    External font `cmex7' loaded for size
-(Font)              <7> on input line 81.
+(Font)              <7> on input line 83.
 LaTeX Font Info:    External font `cmex7' loaded for size
-(Font)              <5> on input line 81.
-LaTeX Font Info:    Try loading font information for U+msa on input line 81.
+(Font)              <5> on input line 83.
+LaTeX Font Info:    Try loading font information for U+msa on input line 83.
 (/usr/share/texmf/tex/latex/amsfonts/umsa.fd
 File: umsa.fd 2002/01/19 v2.2g AMS font definitions
 )
-LaTeX Font Info:    Try loading font information for U+msb on input line 81.
+LaTeX Font Info:    Try loading font information for U+msb on input line 83.
 
 (/usr/share/texmf/tex/latex/amsfonts/umsb.fd
 File: umsb.fd 2002/01/19 v2.2g AMS font definitions
 )
 LaTeX Font Info:    External font `cmex7' loaded for size
-(Font)              <6> on input line 81.
+(Font)              <6> on input line 83.
  [1{/var/lib/texmf/dvips/config/pdftex.map}] [2] [3] [4] [5] [6] [7] [8] <xymat
 rix 9x6 932> [9] [10] [11]
 [12] [13] <xymatrix 7x3 383>
-Underfull \vbox (badness 10000) has occurred while \output is active []
+Underfull \vbox (badness 2035) has occurred while \output is active []
 
  [14]
-Underfull \hbox (badness 10000) in paragraph at lines 948--952
+Underfull \hbox (badness 10000) in paragraph at lines 952--956
 []/cmr9/Response: $([/cmmi9/E[]/cmr9/(/cmmi9/Q[]; K[]; size/cmr9/)][]/cmmi9/; P
 ub[]/cmr9/)$ (one
  []
 
-[15] [16] [17] [18] [19] [20] (./main.bbl [21]
+[15] [16] <xymatrix 4x3 438> [17] [18] [19] [20] (./main.bbl [21]
 Underfull \hbox (badness 2591) in paragraph at lines 100--103
 []/cmr9/Raph Levien.  At-tack re-sis-tant trust met-rics.  Draft avail-able at
  []
 
 [22]) [23] (./main.aux) ) 
 Here is how much of TeX's memory you used:
- 6620 strings out of 94960
- 80948 string characters out of 1182471
- 218022 words of memory out of 1000001
- 9524 multiletter control sequences out of 10000+50000
+ 6630 strings out of 94960
+ 81007 string characters out of 1182471
+ 238380 words of memory out of 1000001
+ 9533 multiletter control sequences out of 10000+50000
  12713 words of font info for 52 fonts, out of 500000 for 1000
  198 hyphenation exceptions out of 1000
- 32i,14n,36p,436b,610s stack positions out of 1500i,500n,5000p,200000b,5000s
- 352 PDF objects out of 300000
- 98 named destinations out of 131072
+ 32i,14n,36p,806b,896s stack positions out of 1500i,500n,5000p,200000b,5000s
+ 354 PDF objects out of 300000
+ 99 named destinations out of 131072
  58 words of extra memory for PDF output out of 65536
 {/usr/share/texmf/dvips/tetex/0ef0afca.enc}</usr/share
 /texmf/fonts/type1/bluesky/cm/cmcsc10.pfb>{/usr/share/texmf/dvips/tetex/bbad153
@@ -546,12 +546,12 @@
 xmf/fonts/type1/public/xypic/xydash10.pfb></usr/share/texmf/fonts/type1/bluesky
 /cm/cmsy6.pfb></usr/share/texmf/fonts/type1/public/xypic/xybtip10.pfb></usr/sha
 re/texmf/fonts/type1/public/xypic/xyatip10.pfb></usr/share/texmf/fonts/type1/bl
-uesky/cm/cmmi9.pfb>{/usr/share/texmf/dvips/tetex/74afc74c.enc}</usr/share/texmf
-/fonts/type1/bluesky/cm/cmti9.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmmi
-10.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmti10.pfb></usr/share/texmf/fo
+uesky/cm/cmmi9.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmmi10.pfb>{/usr/sh
+are/texmf/dvips/tetex/74afc74c.enc}</usr/share/texmf/fonts/type1/bluesky/cm/cmt
+i10.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmti9.pfb></usr/share/texmf/fo
 nts/type1/bluesky/cm/cmtt9.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmr9.pf
 b></usr/share/texmf/fonts/type1/bluesky/cm/cmr6.pfb></usr/share/texmf/fonts/typ
 e1/bluesky/cm/cmr7.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmbx12.pfb></us
 r/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb></usr/share/texmf/fonts/type1/bl
 uesky/cm/cmbx10.pfb>
-Output written on main.pdf (23 pages, 288124 bytes).
+Output written on main.pdf (23 pages, 295893 bytes).

Modified: GNUnet-docs/papers/ecrs/main.pdf
===================================================================
(Binary files differ)

Modified: GNUnet-docs/papers/ecrs/main.ps
===================================================================
--- GNUnet-docs/papers/ecrs/main.ps     2005-08-19 21:33:23 UTC (rev 1758)
+++ GNUnet-docs/papers/ecrs/main.ps     2005-08-19 21:47:43 UTC (rev 1759)
@@ -1,17 +1,17 @@
 %!PS-Adobe-2.0
 %%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
 %%Title: main.dvi
-%%Pages: 22
+%%Pages: 23
 %%PageOrder: Ascend
-%%BoundingBox: 0 0 612 792
-%%DocumentFonts: CMBX12 CMR10 CMR7 CMR6 CMR9 CMTT9 CMBX9 CMTI10 CMMI10
-%%+ CMBX10 CMTI9 CMMI9 XYATIP10 XYBTIP10 CMSY6 XYDASH10 CMMI6 CMBXTI10
-%%+ CMMI7 CMMI5 CMTT8 CMR5 CMSY9 CMSY5 CMTT10 CMSY7 CMSY10 CMCSC10
+%%BoundingBox: 0 0 596 842
+%%DocumentFonts: CMBX10 CMR10 CMBX12 CMR7 CMR6 CMR9 CMTT9 CMTI9 CMTI10
+%%+ CMMI10 CMMI9 XYATIP10 XYBTIP10 CMSY6 XYDASH10 CMMI6 CMBX9 CMMI7
+%%+ CMMI5 CMTT8 CMR5 CMSY9 CMSY5 CMTT10 CMSY7 CMSY10 CMCSC10
 %%EndComments
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips main.dvi -o main.ps
 %DVIPSParameters: dpi=600, compressed
-%DVIPSSource:  TeX output 2005.08.17:1050
+%DVIPSSource:  TeX output 2005.08.19:1450
 %%BeginProcSet: texc.pro
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -1345,21 +1345,21 @@
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
 %%EndFont 
-%%BeginFont: CMBXTI10
-%!PS-AdobeFont-1.1: CMBXTI10 1.0
-%%CreationDate: 1991 Aug 18 17:46:30
+%%BeginFont: CMBX9
+%!PS-AdobeFont-1.1: CMBX9 1.0
+%%CreationDate: 1991 Aug 20 16:36:25
 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
 11 dict begin
 /FontInfo 7 dict dup begin
 /version (1.0) readonly def
 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
-/FullName (CMBXTI10) readonly def
+/FullName (CMBX9) readonly def
 /FamilyName (Computer Modern) readonly def
 /Weight (Bold) readonly def
-/ItalicAngle -14.04 def
+/ItalicAngle 0 def
 /isFixedPitch false def
 end readonly def
-/FontName /CMBXTI10 def
+/FontName /CMBX9 def
 /PaintType 0 def
 /FontType 1 def
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
@@ -1367,91 +1367,82 @@
 0 1 255 {1 index exch /.notdef put} for
 dup 0 /.notdef put
 readonly def
-/FontBBox{-29 -250 1274 754}readonly def
-/UniqueID 5000771 def
+/FontBBox{-58 -250 1195 750}readonly def
+/UniqueID 5000767 def
 currentdict end
 currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D004B836D34E88C20EEB527CE1124209388A2DF
-E27A8DF298A2693A9D529916AA0B2176E6ED237F69D84A8FEEB36861D1847207
-BE2BD61C6A412FFFEDFF13AFEC32AC7735BCCE5965F5966418A62ECB99112AB3
-3BC938EC590FF6922659125EB67E260BF02885E49BA6019E696D33F0B53606A2
-F515E0C45F323311613A94B838491BAB9FE230C5CC79D22925E3D882799F2707
-C32975A494F0F9513E4D8332E7E54470D9721FBD345CDBB48286F2F19CC6D66E
-BB631DD6476A509167A49CA525A72CA50E82C1D08C2B372DB54C5949C753B632
-2009B761EB90492ACD3CBE6A35CE1B66F3BC4D8DC36827CE4261A703328451D1
-879438479917C1647772999171DCCF1491A1C9086E0C6393506768F8757BD81D
-141C46EB9BF507EEC29962A0072B6C5D8C8588F3D68886CD2606DD3BD2FECCEF
-63245494E93EEA12AAFB06110E54ADC444C7E7619627A48A464394E5DE06EB46
-4C76A2FF010318BBE48B3776C826A265C66515717F7F2E943C60EBAB23D96B5B
-FD514A1C4E79BB3D3D2DEB936F90CD3FABF7B09FF7F564AB5CF4AF6A40E869FD
-395885A88F4A138B3CA6943A2D430BBE43D91F7F17621CAF52FB7161DA3B2003
-82244FB6EE792DCA1722C03392C296C029A2DCC5BAAB3EA03F8DEB039DC83AE1
-763AAB84776A2CCFFAE9EAF0BFDAE417E8BE682D237FFEDAF224AC09C9665019
-165CE32F5349E857177D94AD6396570932E1657ADE4D3FF57A3419946CCD210E
-57E5A1D91CF708395942527D127606350924D71BC21C6F969288B1C8CA3404ED
-E6219985F7301A20621368F74747EAD38990A4C9F2B62913B8FDB93657409FF5
-178DAA7F1218B6F8EABB0BD9E0D61A82A79D6B4824BE756E96E643D04C4D419D
-EA5D7FD17218AE5BE43C7C7FCCA887291296CA23ACB6E4FDB42A8BCFAABF3A72
-47D903208E2A61AA58467F6393DF2406BA706F2DA58A99C3FBC64AFC3167A16A
-6E405C1CD0307EA12C6F59027DC38A9B51D72A0F0D4985EF8B4FF1B7734F34BF
-2225D04218C9E6D83FAFF4CAFE8053E548ABFA8A1B2F57E4497F122805BC7292
-8C07BD6ABEAAB7F3F29966B1F68341CABA319AF8D81E1687AE5A87BCD83B4ADD
-FC022D2493860742D73CC1484DC38D0A837915A2ACCB018A038765E43B731340
-843023B843BD5C3CEEC085763950DE7A2B5E1364B8C4284CE8A01B16C7EED548
-21F5D583779650EA0FAFE73D1214BDE7FF53BE6284FD793D1A5C9113E65EFF84
-C76436764F6672ADE2614F86BAAA6DADCF7623C791E45BFBF89B1D4E22F09BA2
-9BA14E76C6E246B7215815F402A89F0B0E0FC3256AD365D6CE74E11BDDEA8824
-A387B188B425BF5A00140CA9C057878D330B770FEF2C6DF873721BF826BFF862
-6047A2BCE7D6B096B553E180A9FCA15514B4FCB1CB2A2665A97C9FC01539D240
-EAA7178D33374781BFB1250C2194A486B4247812FA4996CE6CE4E501B93725C5
-2A37752C9FF5ABCD113C9047BD21BA088974D294445D19F751B5580D86ADC8E6
-93554394789A1E87236D69F191393AA59D8B9356DAC33926FB600AB62B7011B4
-F739507B8312C533C8357984FF5E0D9474D2B2B62FF736B4D3C8E8DAEC148831
-53606B8C245D4E93E9248D462EB3CAB53E89EADAE5ED1B739C803A65F061E242
-60FB9FDCA9AA84966E5BD0BA12D862F30DC38E6E26D37BB3D7F649B7A2606472
-C0D911FDD0C84E62952FB043AC0BAB1234079AF109156BAC11AA81E297B3E797
-13D16C553E0F2ABF37ADA7AAC4B54FEFD89E02B6F839B0D0EAE3200DF5EA5CA6
-ABF15982B2AEF9671BF5DA347BA1546514FECB4ECD915C04E94CEC5277F6B821
-819B183ACC312B5485862E91B3D6CCF5F6FFDDA261CFEF4167D5A09CF6E8C018
-A0CB32843AE14BC72459D65550AAF364384C9BE9278CFF75A34F6289466BFBEB
-0536C5179F8EB8EC0BA2DF992AEE5EC75CCEB4E7EBB88741DEE53813B7242D79
-59FCF06D4A7CB7A83D8725EC038DF2FE91481E51E48B7A54B908D8BBC04A95AF
-FB084F12476C44A28677D1FC9C18CB0CDB16C8F0CAA9D074CDB8E473BB7F2960
-9B0865CCBBC1179F799407D5F3058F34D99AC13F55957218FBE14231E14A4056
-82FCABE094118DB5248FB73B1F2184B3F38006FCD42FB9C1E0D6B4E9B65CECAB
-D72B57CE0DD32C8F2A35D804595086661018F91EECF98A50FB3D439F36F1BF30
-3944956E93B34900704256016F8D1D7674D1C2A4CC497536D28DB14C9446F2C2
-BD6A54AABCBC6F8902ABCD17CC078F9DABD1C9B8592591B395F87ED0383439F2
-5862B9B0C16E28C963424D8ACBE62C72BE08F3E265D0FA014827930F0831B129
-8E77B7FD86560C960BB238B68936467C748BD04E25F4A813E9B1EEA6E8862180
-F5E6F6E8DE3D35F41188F8392FBB329D0A509074AF88A74AB032ED2594DB44B0
-750A5FD5623202FC13FBA525BCEA5764F193B1C1874E37BF237CA5C762543C61
-33EE795E30A1BC6332D025339B29B55CF3141EA0C0CE7DBD9C10F4930ACA4C29
-623F634DCAE17DFBC9CDF7A49F34FE0FC43915CB29AE026D6B737DBFFEC75E99
-B86A8B2FE1898B1B8451995DCDC2226F2671F395EA7D2B15E57087867B4844DC
-22C350BB74BE1D90721109E5E2C622707EDA18637C9C997EE7153350F1C0AD19
-C52F31501847312C1DA437CE434CB6F763BCA482450AEDCE0DEA98551F6F7DF1
-596CA7C0A79A7CE9F9B8D427E8D3C5AA351D51E41E6E0E4F744EB9747B046633
-B9FD901F053CFEE8566C7A5E737839B777F4DC0545BD038E2B4E0B43D1331FCC
-D0CAB830E9B6C92572A24B8FE3567A87409981A028F120AA663AF63596A3EDEB
-5783A0A7E371D75D20949051B23676D12F9CD0AC8307403605A9777301D8AE13
-0817870BCAB1FCFC92BB6414E40F452C2C2F1174E47CEF667767D7D9957A5828
-18158D2878D334B92E3A5B14354D19014BFB68C21C2163B601AA43231559A908
-EC1E3A73B41B1F66AD1FBF2BB596F930CF96B9510D6C6BF2692F11AACDF9BADE
-176E4F8EF6A704BF4982D7B6A18C100F3204EAC427CDEE4DC8D4D552652BB423
-DE767FC85EA6D5240DEACA766F8B9478612B206DBFB67D96AEE2E06E0DA26976
-CDC085A28B0E0709A6BBE4D2DC539BCD0CD2FD8397E10D35F3C66DE53411B6B3
-19B67DFFC7FAD49355F1F0361193F1BB11461871473E2B009CAD0D60A243776D
-6FDE3D5086D772FDA88E282775ED357C59C2CE4F3330450BD2C75A0A2DEF5511
-47F01F0AA2FAB1B33EDD055AF3A722DF3632BB71B68348026A51C77AD046281A
-4A31934DAA12CBE4CB7482CABCE84FF893491E1F83E14DF4D61187F1FA3250BF
-A64BE9628247C2444FA69280EC177FBC0AD3FE7C56C4025FD390167ABA4B493B
-AF5DDF5AC37DF05FD9D53D1F5715C7E8352BF880
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
+B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
+AEBE70DAAED49EA45AF94F081934AA47894A370D635D93B1823EC35EB8316AA1
+86031FCC99F57CB21E8400E54AA474B57112F0D4754A16BEC19117E9D3638986
+0777A71B135CC18E20E193AE6C2BCD89F4A27516DBD2BFE69FF9920D547796F9
+89E0825B6BD5F492B36AF136EA91B826501ADB1979A4204B2CB5C0517F2B9494
+9B2077F316D2B3DA256C99F7549E6BC4B04FE12072B09B4F5D482A126AE351F3
+97DB85F3026A793B51E6B28B54661FEB087F011F0BFF67272DD1E8825C180723
+22AE77CD6166D2605D0C0F131537417CB60086F08E7197AA916D590944BD801B
+DEE8F29FFC516E11396CCB8395CFEC9262E22521882DC0316B0A129DBFA5FB57
+E656890C2471675E0566FE461028FB05532E274E6DF77E7D320D09B2203BBB5A
+8B185B66B2F8A18A49589C4EE27596DD56260D0D759D2A12CEF7FC3010BA1B36
+85A2FD45129DC01A0C7570423305C25D957DFF9215102FFF35F428C823D549E5
+014E7F99ACA6C10B3C92805376D0F3F280D65852CEA54F5CC9DEF9EC1347824B
+0733D3341B34937316E77E952AD9366D3B2ED045165565F07CB636385E5A5911
+2620E185B105EF6C93890833054E05B6301137338A3F1D6AB2F80095E57AE60D
+6E5EE2764624849978C811EC38E014AE4A5823734C5CEB2BC22DDA46BB408D00
+4F25CA8ED287D35E26A4CACA77D2D4B986ED2ADD3BC0C3405741CAD56DE28C7C
+68E8944967C022CC55907B3DFACC1EFAFD38D3EDDA1AADB6E2C006ECBEFAC8D7
+18ED3C46C331623D8FAACC6CF9292B8F1B407806A0D4808F51A5BC97FFF59BEB
+03767AEC2B6A88BD4C2E4DB8EA66094068C760FAD1CC29BDF625F831CB8C4840
+79C8550C8241C0C7002722F70E6046031B619E5BCD1B56C537C6F6506F83C057
+F489E227B49AB82DECC871124FFE463D8B6EA3CACAD00808DFE61E9E7C5BE060
+D6F414E9F83F5B5FC93D02FB1AED99992B9FEAB4D88AC1427095E26B20C4AF54
+57E4F57F8C804D5C1FF5DA298D99848C7837D67CC6005D51B33E6C37F67C34D0
+0DF8A2429782FCC3C9BD5D7859636FF6A1938853B39AD4C037E42844D997E047
+A84205C24E3EE1AFAABB6BC1E86F34559AC8F149176FCEA83E9777FE17DF7C87
+C66A4C485547D5A2C8B28C47B2CE6AEDED934CBB1C958D01B1BDF45627CAE345
+F535E866BBD157E483C05E4A4310A8AAE40E94B72914CFB60DBD9322A4CC306D
+3C63F02B23E447496FB3A187CF5E28F9737872442C78A2888B2532B41A12CEAB
+EC1366445EACD5F86F87DC0F650D18574E0A079E459D2B65244ECC43FD346354
+23F3313B883F1B28349ADC418F0DA0EAF1EED679D6ACB79BDF5F239288070885
+F92505952C8B6CCEC1D03731C66E030F370DC0414D9E1616240BDB647402CB1E
+C2E9F500BCE66BEC3DA60219222DAA377C6001C7B5C6523F744AAF9217C72780
+64DDCEEDFE1256CE0EB3EA6B72B33F543F247D9370C683B5F15CE22D8F94E090
+F4A573A8D8039DA7D6B6147F2438EB5192854013926D1996A7FAF5DA0DF11F58
+A7102A3AACB763CA5A8D98066A9CDC069FFF0CCCEC178A9E9E86E3D4F9C24AC2
+C69ECCB45070E08B822D8432206A65BB5D1D5F77F90E852281AB00A9B091F7E3
+CE70B24D62816E4FC71AEA1D2025399D387008D0B0E6F6F60D6382C3B0580CCB
+7D1985A6867545FA9DBB7EDD27853CF612F20315AFA292825E7EBE749203FC23
+3123C1D871600E31D988C796307C7100FECDE9692FDB7C5BE839E9BA98E0C8DB
+A65FC6825E90BE673E1D1412917D9AA2D40556115E35562908430DBAFC8D6F4B
+9A2BA851F4FDDACA02A625AB5F75A83CB3F61868E9F9E61AB004CC1094B3E612
+05138FD0308269C6DC0A79DE064CFB7CF5C249C8AEAE4D21F892FCE05CE133DB
+D4D79B827CE00ED3E12AF65CA0199BC21A826089168F7FEBA7D91526A55ADB34
+56F5EBAEE975D255274C65C2BD2E72429C961075CE3318F9FDB1A5F122BE1D0F
+E49D2B1316E1A18766C9087C62F062865F5BBCC9165BB75E67A8A867D6EFE05F
+4FE883765C86B61043DFEB4DA60C2529361ECCC863B30B7BF36B7E7473AB1E8F
+392B99311E4D7E6AC12F7B31DAC4442C16BB8587C28F71F0BF484AE1316C0280
+E898B7BC6244716063208EA32FF75D303B4C6F7457F8D924E04B83986562B799
+2DB2050CC802EFBD9113363D019E6F1EB17BAB4A52034D94F112FC55A1EF6F84
+41601655E995589E79558F975478055C3582EDBF577591419EE88114088EC79C
+F52187F47CD556C99B7D00901F6DB1922F9643922A4D862FE4C237B50493F05E
+430F2862E881EBD737DAF481EA317D6B570E5ED3FBD1F326EF4DB61D437DE352
+BEE91CD9CC31654B5CC4EA8BA22BC009C145556C76A5F0BAF77D916E38984391
+B8A8839DD5CCBADEF231EA790A82701285E900ED2D6B2FD8F2DC818A5E1E57C3
+C3173CFAE7A05FCCD8BA7B5FEA45D2AD0EA96E795FE6F754DAEC494778C6DBBA
+6A488ED15CD1D4608518BCA4CF45CC356A9AC9B7EBC8B50A6FA018FA6E52F43D
+88BCBD1794533D936326E374FD50081B3F62BBA6F7D5EAE19DDC193D884E5F4C
+34026D74BE6BDD71E48833A1BAC1128D91EF4E11790980A6A1950906689D75EB
+7EBB66216F0F4BA6CBA1C5F741B3C5E972710394260FFE2BCBE89F29ACAA0BDD
+EA562E2A98BFDDA0FA9900D967A28464C96925850C575ECC2B80325C5030AD06
+4BA2D70A831FFAA794C27436DEA5B65A1B69D841980CA50C5D07A76A67E1B3F2
+17BFF2B44B1C33E62D7AE2083F3E2274B6F7B1A3FA8F41A6D8111D6E11290D36
+1C16E19643B069D7EE66648E811D37331F2134D1E078B3E0849BA474A3C64FE4
+A96A83CA525BDF66E39DCCF208C0BEED2BFC7AEB75A99B2374AC14F415CED7EC
+BDF70477BB561E6AA876B040F6EC6024552FB5B316E04320118A322E360559
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -1725,8 +1716,10 @@
 0 1 255 {1 index exch /.notdef put} for
 dup 56 /d56 put
 dup 81 /d81 put
+dup 84 /d84 put
 dup 89 /d89 put
 dup 101 /d101 put
+dup 106 /d106 put
 dup 108 /d108 put
 dup 109 /d109 put
 readonly def
@@ -1755,30 +1748,36 @@
 0730D8E62D9C931C372B31D1A810B12386ECE812FED18F006FAD29D28EA30D94
 D5164361F11238EADD1CF8CC21BFCA167D9D03AC61818DCDDD6A2AD7306C420F
 53B8DEB01E309F3F6DD0451836FFA20A22DCAD65D0026672F7EAE8C1DEB4FC3B
-1023B53F919693D926C30EE0E764D5F0718E1E6FF21E3D07317471E60DF1A88B
-DAC4CC62A09A26950A1C25EBE4837C69E543C50A99F00185D4641809C84F0187
-D87E7A33F43623452704A3E1C45AF69DF3BA6B4AA0B4C8A5A3D16D47D7B10C13
-F38545CD0004FBD24D11F7FD31676867F75B7C08D06A7A1662EC00DC350AAD07
-C998CCB98F00A944EDCFC605D8D68B569634D13089EE7EC6C2E75745246B76D7
-7A353D6AB09C45B4E1B784461F4BB5B9CF21645DEA6DE9AFBEC8F2F159072401
-C6052959765DE5AD91CFEFC339D456DA6C8FFA98B7A46455215187BD6B3CBDC1
-CEBC6A3CACD09EEC59B12DC4B39E6981614FCBE53FCABA241D7134771933CA5E
-C00D92CCC3F4C56D74F2035F0D6D20091E1092142914729F8002F4BC032209E2
-E5FFB44341F5F1AF313C7DB3A986F2FE957555266D49EDCD95CCA7BB5C7EEFE0
-94886B9585BF2B8CC9847F8115F00A83DED6B0EB8650E67276A37020A0747556
-0FB8CFA9369E05611801F9B6CFA80DF21F0812107164FE4E8A089814EA3007FF
-DB790A0FBB354568AC8C94C3E24BDB949D30E1752D91C8F0CBE6061AEAF90E5A
-16D6B6546B4D2DDA808D5757B6F84E8805FBF8C7EEED42E2A4CBF9F6C6455C30
-C07D277B374A119B25348B66D5D801C9142419DFDDA1EF9B7FD62FFA144E9F66
-8433A0CD320319B9208F7F12C99420688C808481FA66CDEC7B11EBB6502C50D4
-1C03226B8D3A005587F2438F08F48A56ABA11D78DD6DAD51B8F821ED139DB3EC
-14199396F6189DC425468483754F629C120A5EE14A1EB890933CF91085B6DABB
-BF842051430D96A6EC259D6CF64034AA161AE685D4F442F32A175E164B7AA37E
-AA4D862A8AF3FF862E88D4DD68D9D905625FF906AD29AFD261C40D2B5ED95669
-58FF0883716299F9BB8A3F2BCCE9D7AF0147E52E3F392582FBB3115AEC26F5AE
-10FBD76870563542C71C6FE5FC8478D439694E65AD711C43257727EF4C829450
-9DF1DA2B1D04B80E041CD4E1C59BBEA7A03D289FD7D6387F75E01B3556139E0B
-6D2C0544C7BECF7CDD
+1023B53F919693D926C30EE0E764D5F0718E1E6FF21E3D0731747F307D1AA566
+4532282A9E034175CB6C8ABDAEB888938EB631F09CF286374A36EB1AFED0A4D8
+97D9A2B35C501E401B4F1D730945A1773333E94D53E13038D0B37673166BEAE1
+8CD5C16ACDD05BBC656EC922E6B10654404D6079170963192AFA59AE1FE1B044
+4A3991D6E8EA1665B864DDC2549B2EC2568721DEBFCEF2CA50842FB8856E480D
+CD7D8A7A9E56CD245AF8D397873DF88FEACC6A9E9B805B9B22835BEC1E5D5F41
+7B75677F7F03E7973891EC2087334D320D83C176A5F17C0BEE6353FE20CDBF6F
+2AD7CCC59A18A1BAD1C589D39772E0C36AA2A9F2A5AC3B3B15111A1D4257BCC8
+2E76219A46CD383D5DAE09459AD5F1C857B156C95740F55649E97F6EC915FB58
+11472FFC80E31ED33525624EB7DEA868C8C136523F4539B748EF5923A400D601
+A8DB89A67A71866EEA90D1FEA03B5275C25CC86362A52FC1DE68F363ABB4B0FF
+E023B9B77BFF14CC7F43A16786F61741C2F9127B810A6A7FB79AFD989714631F
+0EA749C4F303C37CED33F5D558FE3C39A54945FF0496038E8BB7B28E1AFA5CC5
+B73AF05F84C1D718E8AAE20F9022F65F60425A508856BB22E2D3060CA2C7842F
+ABC6584BAEB367C11DF22E5A9D91A4B729EABFF1661204B46C3033C72EDFC4E5
+DAFB01F7ED364B2FC29EFF3469DB6A9C580AC374054F668835AC0208BDDAD796
+B19F680D152C357C719305E7096AE4D60683DB14166FDB4CEE62F3B8909E5037
+54B692682A6406F138AF164C1C162AD670DA1944AE6F00357F9E5A1AF919E911
+8C75A9D73BC8E4ACEE24CC0C70768EA3214FB6CED2321E24B1E040A986E8464B
+3C939C755E198DD1837D1372F35E70DA6DFE46B30C8B42E97F32DC3D55306C21
+C52F6EF9447E79C2B1C89EF56ED2529CBC832D5C0F0B611BAA7690E88FFE6A49
+4F4E0BB5448A1547A5FE8EC381DEA1487CF1AA4D923933359A387820F0310F99
+0841F9C26631E3BD0164D16AE3CC384E6BB33067DC5813E57F1F02CD57C8E437
+9D140F61F774FF80BFFB70D9CA3DEE7ABFE5DF0CA500BED48402B58DC9F63ED9
+AC0CC3CE364F9FC84E1A0DC7702514C68262D668AB85EC54972AF711A03638A9
+50ABE479821D65ED50AE68F09AE7874E4B47D8D0B741796E1F0251DFC4FFC9AD
+4D679905395BC6D0EA704363F0AC1D5BF49DD07615C4B72348278FD8962302A0
+7A006E2204968043DA900B5845E1305958679EA6AA402F8A75478DB3993AB117
+E5162B32FE57D2B885F527F88B2A63C48587FDB7F2EE29F26B92884A907A97C1
+0D1BF88DBB7D33CF68CACD1ABDD79667B8D4E31616A5
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -1826,14 +1825,17 @@
 6AC0DF1D3154B0277BE821712BE7B33385E7A4105E8F3370F981B8FE9E3CF3E0
 007B8C9F2D934F24D591C330487DDF179CECEC5258C47E4B32538F948AB00673
 F9D549C971B0822056B339600FC1E3A5E51844CC8A75B857F15E7276260ED115
-C5FD550F53CE5583743B50B0F9B7C4F836DEF7499F439A6EBE9BF559D2EE0571
-CE54AEC46E5775D2757B82B0EA2D5475B641344010DC26A074F2E1421CDE5952
-BEA11EEAF8FE34947F0A04DADD11A96D5221CCE9B88C7B6FFFCBEA6EADEA6F4C
-754F230C98CDB4FD759EF921982B37DFD8C70E2D0F796ADA15ED024EA1218BB4
-159F016828D7AC9F878C0677A6337C3EAF6CE86C7368FE201407EEBD75936B3A
-6E5486370D9EA980C1795844E493C4A9A98419C8B213E088F61E44DFC94CAA1A
-F3A02D83B12BF9D17BCB5481A7C33ECF8AF262714A4D5E41FDE53AE0A84A51F8
-FCCD663999BDC52977FA7508D6FCDAE519C0C4CC9855F4495FECFF71935DCB
+C5FD550F53CE5583743B50B0F9B7C4F836DEF6BA1ABE5F0F80D96571277EAF86
+A3AAFCE3744F2A25691FE0D96E1339E83442F01FEC47D1D8F07B44CBB89EEE9A
+30C2EA44C2785CD16C3345F5336BA9A4023736FC72CEF9F010BD74C0727A9950
+1AA15F4CFBC724CDE04356826EF4454CE6CF718EF6AC7D217A1A82A4E119BCA3
+1A1647DA3F926125CD2AF93485CF92C4CC708A78F6FBC0646723B23881775249
+8AF71615D43409A012AD60223E00388F6BA44A251D9BE75CE9B5E5941CCD3B1D
+C881C00D093CB8A1B62965F8E223489DEB544A03648071B2D524AC98E99FDE68
+D6890B44D0D7232626509E9D70990FEFD17C05D8B0031CF629575B9BBB191619
+B06A753D847C1911ECB922C0B95F476251D9732B9C0CBF4B74A1C3FE71046458
+459383DD70A6EB5795172F4BD58DC790B9175168962A4276E81CE17CF389EC67
+FA0ECCBA25E52ED53A7F041D3DD276C1A7599A2E0C03E01CA60703
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -1893,11 +1895,17 @@
 dup 28 /d28 put
 dup 36 /d36 put
 dup 40 /d40 put
+dup 41 /d41 put
 dup 44 /d44 put
 dup 47 /d47 put
+dup 49 /d49 put
 dup 51 /d51 put
 dup 54 /d54 put
+dup 79 /d79 put
+dup 111 /d111 put
+dup 112 /d112 put
 dup 114 /d114 put
+dup 116 /d116 put
 dup 118 /d118 put
 dup 122 /d122 put
 readonly def
@@ -1927,48 +1935,66 @@
 967F12567DA35A9F58F59C298C9D8BB023B1AC9F705CA45B31A132C3BD2BF793
 71B1A4373E71606C132C05A88474875C3E3E963660814FC12497D7A39ABAD71E
 6F08A07F236B72277178119C9011DBE677E6F550F9392455C07518C027D23C5C
-1344CE300AAF4404A774D4A1F7768E8EEB045857C99020FB4524C1E566C2A395
-4D9B19D83DFEE4CB7F8B65325F487137DF1CFEE22A613587F24F9D528D935751
-2DEF0B0AB3CABA89156E04D491C6E6DF58897388B686267948092D1E097FE920
-5D3D818ED4A69439D3F67A3ACC9BE8B35F3CA0D8B473F6137BF9F676A29EC4EB
-023E81FA702E3D4FBEA6B164A17E3ADCFDCB5A6108C989A25FC2EF1D813C9019
-B712284000CF0C52DB8D02A6894B81BDAA6F43D8433F7D38734B4C644DEC21F3
-9E729E2E6822D335F7414CC6F9D4A4268768F1EF5813A5267DE4BA1AC5F8D309
-A164F3F9B6367E4D465BB81B7DFC1B13FF93FE76D5E17E30881D68BC80F46DBC
-C68A96E0607539964967E4873710E21A58E0E79166F5758EEE1DA95014C9928B
-1E1EB8B2ABCBB92D0049F02673F6FE2EDA25DC0496C46F502E09AC9379980E5F
-E067234C38D79F496BD47906A13413C20C526E0A886A755EC3C50B102719BC5E
-8FDDB321F01B3B59684F215B675738E8F02C14656F597002681306D31945D258
-4D1903E00AF122055FB10C8F8E66A743924E59ADB8A574D1BF182C48DFF6CDE9
-3CB70EDE8230CE379BF85F0C121237477870F009220856024195F548064C2769
-BA46103B087D33B32B7F89700BE2C808130AE25912F6A8546D6B10165926ECAE
-86C727DAA6FC2CD412291771B5841B4D82FAEAAF673089E357790C7105C48B4F
-6E0160E84DDE294E6C60750A35FAEFF2D51A48A1B387CC42D735615A632EE7A0
-3E7BC0ECCA2120F5EE065D4CB5F8AE1F2AD39A76425F431E37A7E03F27E33E04
-859B4D3A7F29D887F42B19B257DA60AE71451D0C5CF8E1676C1861C6CCDB81D0
-1D5495E6F746EE6C37833D7C588DB24BBCB0F516E4D087DDBD3D8646303F43C6
-E92524683CB15901FADF506CF64173AA3D8531673F2EBC765EBEB483BDA00BC8
-3AC9B8F4A2CD0E6B571BC4D8566384355318848950B5CA579B778BA1BAA898AB
-35EB7C268CF3965EFFD7864A0897FE9576052E7B5598E8B1EDE3A87DF9ED63D3
-36F2E77557DE2188B5F545289B9E621F00AE592751B8F7E6DC264C9B78CEE5A1
-C3D23CE310CFB29DD2BA762A53E0A74E6C6D6F285896F3E7D3FB98181FADC7C2
-B382E2AE12418712352E682A7DE6283CE0F30E79B72F714B0775706390DB7B26
-262AE92D591DFD082AC353EBCBBA0DED7E3160E93C86DE1F93ACC08D076D54B4
-AC5E0816250A85C24385DDF3788EE038C180F083435CBC839BB5102F0F758401
-804F01FBF62E27CA821CD4791BD9FE5592AFB20667B2B80538C5E0BB6AA6CCB7
-FD3652F4F0E5C500FE3C786F2CBDBFC50E0621AE4474A2E0CDE4F0A3535B2622
-4AF85B74C56185D5A9BA40754F29B23C3B3194C327FC361CFBA070AC460A7E96
-FB3E5FD5542742C1A9388FA05D4DA9F506DADA52BB33F671BBCDA93642F5ABE3
-6E7D6B31C76FDEF2A4B6FE5759105BB89C29DAA8301AFBF1CFEE2557465D3E4D
-E3EBEEE43AE81DB45394F70027D8EFF24FFE27FB46D7C80BE37A915A9869CFC5
-C8EE9C0C48C36B721C68A75FF5E5AD37334149EF2180E7E54E1BCDEDE0716CDB
-91AC089BF22B459811F7ED35442C36EC929DD5BCDDDAAAD843D8AB12DDFB9771
-7540EF386DB4EF977B9FD7E7C3C93E38EA28A8A03A40194B45BFE3D280683888
-C448D7D0A1846BC1F5CAD8D435C128A54078620FCF9F7434E3D1628C8A357F8B
-DFD578E66EEF0E2DAA7A0746668F6CC36A70260F6082F8A7A321F8D54619E848
-B1BB738AF16C4D944DF5EC0400A8B4427BBF84796D154DAD72AB725CDD063531
-49B94D89A397E5EA25E83CCD2D709ED3B5D828424211F39F8B121606F678530E
-487AACFA97B1E62F14
+1344CE300AAF4404A774D4A1F7768E8EEB045857C99020FB4524C1E566C2A39F
+5D8AA93A0C98424B7CC40B65E5B5170222BB3B89307EE957EC0874904B4A2030
+EA5A0676EC57BAA7150E1B2A18038498AAD8A710EE0FDACA7BF4476ECF516555
+33FFDC653E9DCB31328DA6FC0A513930376EC939DCF76D6BDA6D021DBCE76F46
+BCE5E4C1DC7DF3AF2FB7CA5255406FC735234376F805D158D02216CD29BBD07F
+5AD0CE1EF2C48995EDFE15DC56356F478364F70E0BFF173296B434A058D773F6
+F1B2E141F96875CD643E3068F86E7EFCCC2CA74999675E687989772763181F54
+90C6E7869D319E165B9591C9DD64D008568C7FD301D7332513DB239BF0BBBF50
+38F2138DC2A8B1BFBBCF0E009C93216C0BE5AF918CBB7374BA53B1BA65C644C5
+DCD2056B560C105B426CC536459EC3385F359190B15B92C05ADFFD6864E23F88
+22A65BC99BDDB9B7EC90DF531410B9442029C8790192C6037F78449BF5BC12F6
+20E1C257B18A418EA1760532A54D8FAEAD1BF4B85A4F682546F2087A0BA7B2EB
+CC899ADC95FEEE212DFDDF9FF92FA81A77BD47B459F8D9CDCC9E1272CD53CCF7
+A7FB1383C2FA8E9D6615F1E850049B5D2B6FD420B39CA1C6A99812DB90DCB9DC
+F312437BA170B131EE38B0ABA0F1736D97000B0709D0D008712A8F016827B17F
+89E994FA1F598FDC2574D2FCF67897E552FA1AAC9BF04C103F855BC4B152D22A
+27EFBCA20D99BCE99E2013AB47A7A1A7410D3256DA53A9AF2401C841F635EE89
+CD91959B29A38D2F7BBD7E7B6A5424C14C5FA937187E6D94CC05616397AFD519
+E2D76C19C094A64562402F577CE630BDF946BCFE9A4BE1D63B4BE08CCEB4178F
+9452415EAD9D253A0C96C901AF6F09278C86C7DAEF6588066A0BB387DDDF4462
+94B4167C04EBDD6B8C47F074F1D8237EAD26CE25814E10C6F34C8DEC1F70EEAB
+770E69294631D769763C5593CD5CEF734DDCE955D4006C02EBF351C8CFECE733
+8E2CDB5623369C2BC9FDA5182B7DAD6AA9D5BFF1A7400D3EF6510C4A761D2EE6
+A13E05BE0C228B89CFB8CCAAA967FC6BA42F967BCBE70E50D31045A6B9E62CAF
+666E29B9AA162767E822B7DC0EED3FF4B96C0F44A6A213E1EEEB3F2D9EA6173C
+7DE5A63A38953F8244695975ACA4C6AD3923E93A6C3ADFB726CC4478EC35FF36
+EA9A24DEC041EACA3660D39A9D7E5F260639AF65B49FAF8E716187E2889EA005
+60DBD03371CBF626AD10973FD5AA4535564560D28088518775F1403326C9D2F9
+7FD6DA1A9FBBF8BB555AB8C50DE4FAF3BD3D8883ABC8C1C0941703EAE9B2D53C
+3AF320A476ACA3E142351CFE8C42BFA00046CB12B685462B5E129B59D1D3B584
+771199EB9D77CB7C7A1716F8D01FEEFFC5EEFE44B3964B70A4237846B19A1477
+C14D79C8BEA88340E64C34F1BBD3EE2ADE0067F07C69C03F190024CE384EFA99
+72DFB70673B965DC36778F72CE2E3729E5A3C4C1FF7B935E12177F21BAAE7F52
+5B45A2BBF1BF4976CB9A46251B889D2CB66D2EA316EBC5995F2964FE7A360C05
+208A80B6658070D28B8B6FE907515317E30D671AF5FD20023C05E776B8846536
+446F779E73AF1F102FC6765B5AA1793A08BD9E830BD19D9F01917D9402E42E96
+2E5A9DBA65BE8BA63CAA5AA42C4A0F83A42158C3CD6FD3D5D2553E95E0DB17A3
+48F4FCC8B228D8ED57E1F138BDF50F24F07488F5DC8F7CEEE4EEA810A90D95D9
+B91818C52B87FC11B7359812F01C2B80EAD1601E8E0C40E8367C8EEF0AF8E922
+A4F2FCC427D0A7240A57D93378719CE8207FFDCF88EF77610B3877CCCE49EA48
+4F770F132A815BF8C6074FE9128B30A33541EF3BC41C678A03A9C30E710B1F5B
+90FE3E8E085F5CD94D38E1B0E9D2C150BFAE6BDB5302E2FAB3B84747DCEA30AB
+8DFFB7652F636E5EAF706499742C8E322ECE5E71AC7CDBEEA21A94E0DB1F2C12
+42E6D2F234B27DD4E238BCF342940E9EF332942900E114996FBC694858819A96
+60F03F6ECB50C8C27B292299C055F0D3F4794F87A5CC8B55B66C37B4A9083CC3
+EE0C7BDF3CB1D3A4F4C4AB8BBB99709D039D809D15DA13EC4D3D6D0014ECAF14
+D748F1F052EB390E9F2D5CF3B18168F03FFDE5A0188683E1E7F30B724AC8ABFB
+8CF0C36DB240DC0E44BF9F219C141446BD8955CFF57024502DE9ECA17DAB442D
+E3FAC399DFC45F9BE9E66FC40550154D87A659B3F8F55848ACDE34D4B6E50E5A
+51A650CE6F433F4BD949AD04C0B22E876AF5520B62FCC7B007AFE313A40241F9
+9CDCC3D68D2B8FF6780C507000736538560C57A5B1FD01CA3A84C725E1B2FD66
+8BE58873E4BC578F154C7D18BC8C30B4265871205332974B1D8ED17EC7637082
+E387422285E98771912545C40EC93A9DDCC34965AF6E98F797B35233701B3E53
+1B79EC99BA22510957C4B93BC9711238469382B40F04959689BC4BDF463C3741
+B8FE34DCC5F8E1E1A4E492927873B5EAB47C74ED1B0C03443013DFC83BD02B94
+9883F50A3E65274AC41A927DFC0621CFB04DF453D39F26736953006B01E4CED7
+03DDD83FF6C268498CE08118D800CA2EB04F2D3F43ABB5F077B7656EC2D49860
+C2653063BE9094888739F24D364E32FB3A0320D396519670515E1BA439BCA169
+B9B2493C0AC7EBE7674EBCA33257E95662CEC2A16FC571C51CD40488B22A8FCE
+64A55D9402BB9DA350E951791507F0A80E2B951226BA7FE5F99794F0F7
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -2028,11 +2054,17 @@
 dup 28 /d28 put
 dup 36 /d36 put
 dup 40 /d40 put
+dup 41 /d41 put
 dup 43 /d43 put
 dup 44 /d44 put
 dup 47 /d47 put
+dup 49 /d49 put
 dup 54 /d54 put
+dup 79 /d79 put
+dup 111 /d111 put
+dup 112 /d112 put
 dup 114 /d114 put
+dup 116 /d116 put
 dup 118 /d118 put
 dup 122 /d122 put
 readonly def
@@ -2062,47 +2094,65 @@
 861B250DC3AC668CCAA5ECD8E58D2AF9499A5B822304FA2BEBA54D325363ED21
 814D5132E07D93D23D68F7366459D13762BD680FF9F4CD0F8361837F4FF9CE08
 477704DF03F1C879247FA5A3FFBAFD383F35D1033E400FA06EB43DE3BE149728
-E98DC609E89DC430440ACA19DF6660529E603C1F436D50169264DD4C1D4E9BF6
-A83DBEEA4CB10CC9A0E251EDAEFA0E59C489405BF6596028A95C1251AA6DD606
-79F16E0DBCAE7C18BD2566E5A9DE52FFDA09803C9F8488C0CBA9C06452DD2A92
-6E81F3923E7A3AF9368DC94FC7ABFC32D2A058790EACB5DF8BF737996F62E7FC
-E4A012780F734A2C892A783C158216C5A2EAD4757580FDEE3E237427E8E2CD38
-701965CF80185ADDA0BC0D055AE22C9F9E1680D69A0E6CC6208DF4D77CC09A8A
-D808227FD4DD24436810BA044E30CA44BEA9AC248C81703A48728F42BEB2602F
-92F410F58A0DBD7F409F52E699C448B933BA6B50B722E7C31201F2100BADC96C
-17F9991B221918392019127AC3707B8AFAA91006EB3C4A88F74B3E9AF8E17F17
-966EC57263F74EE9AF35891EA297DEB8E2585D9909A36FA2527065C835EE13FC
-39C92C83209859B43430151A49AC312F955098939E73D849C41A1BAB93E3CC88
-41F4A2D81B97C532F0944FBCBC8CDB9514A1C27D31B9201368AC7D1C3CFC1A78
-5A6978F0861B1B31F0817DC9AFAC2E5632A42F30D236C1EA8FD67EF7447B1C5F
-18E98A17297B42226F09E0FFAE399AD3732088B034EA23B422FD7EE7FD84F68E
-65CBB5CEBDCD319867A303ED1E6C14389FA04C42C409BEB1062819792E1759F4
-F17730D044E02D73B1692F0402A2390185ACCF20E6FC89B3DC4F755BBB178125
-C960EBDFB61F209F7F4B86426508F249E50CBF81868F3878FD2C4342B03BB4A5
-5F59217DDF9E6E583220F12FB3716399B4B47F208403C4095C25BACE03B95E50
-CB7DB173B7D0EF213C90D0F4079D4050DCDA2F043DA4B02578985286B771E97F
-25582B025CBBC811884D0B287FFE9E3D937D22BAC4E12536B3E5FDF6F3616D25
-CE9E7C2FEDDB8B21EF0E745D60529590E8E38B7513BA7E7C350A7F0AF8A2DA59
-59A9FD90B6FB75DD53BAB1FB5F63999A595827D18781C41D93A747AA295235EF
-2AC11761CA71D9054A9DB23EA0907C611559930008C64ACB89B3335677CCFBEA
-B6FD9CC18E030EB085C5409A128AE7A8AF673DB91ECFABB2841E51610D3C10EB
-B6A347930D02B5398451176EC06FE3FDCE13AE2AB014C1530D60074275848AFF
-B5D48D90D3AD71168BF731550A6FEFCCB70B115A29F85437C51A0CCDB6737B6D
-A00C91A4B1469D8CBA5537AA4C4BCCFD26CBB0EC94EBA73DED6B418C0F0BADC9
-FB0B17FB77F9B6FD99DEA60D28AA2B607D3116EFCDA0C2D796C909BC09A2987C
-3035C7FE7A0D5A678A673A0444BBC7C8E7E151087F29ABB0B0938A8203C96B5E
-7C416F74DFE2E968EC13807082B0819377B642ADAEDAFCE0656C1BB321E4CC88
-F2F2228CE9CA35B6EEDD119F21A76E41E3AD1ED37675341C5C0E3F2B7BBB5FA5
-663FF32F8E4AF4B88EA7C447FDCCBC76B9F0E15FD6AFE405748F2F3BF637322A
-ED4F3201E00B563E54F76FD06361D4D6EFE670599D086F763F0CBEEF1E670DD0
-0A624361726BDBEBD0696850A44CBE01D1E805FF9350C8CD43476851E55418DD
-38715DCA514289301F83D779FE7F1EBE6B6B361B39DDA1F63442B5DD3E501AA4
-B4F1B941931C2CBE5B5DEF45CD2E464BA68150248A5AC20641278D15326AA293
-EE4B40AE81936F0653F954FAA95EACE0CD9E75248FED6FEA0569DD205ACE22E2
-4430E2BA3C6C3EB034E8A154C19F2CE0EC8F3753A69FCAAD168F94E9A91642B9
-275415BC6F250130A2A1D813F7C6173673615B965804C26F74E5698E79C9251E
-D387A1ABCDE49B8847BBA5C30AD098F77BF14D00A43AB977799AA1A7E8709BF9
-140F65A6F284B7C7C83838DA7778
+E98DC609E89DC430440ACA19DF6660529E603C1F436D50169264DD4C1D4E9BFC
+7F8C55A5274B677060418BDC7438F32425ACB3F96656A1BBD5E073292BA41435
+6FBDF07389F4BDE1DEF333C4A49888E5A8E0D97B00F10B38EFD39FB880C16C17
+2F19A1525065C516538A6F393AEF6F549E72287A64DE399A243C78501CA4B138
+DEEB18428DA1D221F448CE3FDB2F666FF529B943808D4B45CC40436150AB0068
+5AF61FD28EC62F8EF2DD31EEAA3FD889801445B38158377C095696C2A8854373
+64C45D83DF936396024D7DF67315BB55AA6946776EBFBFAB85C7AADF837D2C29
+2AB94574F27FDB2F866E2F9BD283521B1FEA96CCF494485F413002F7F21EF29E
+FEC52F2C277FA35189F4C6D74BB8B2DAC68AF2FEE69204A66D61DF1E4EB31913
+D34B01C6877322F9683D7D23A968A4121D546A33EC328CC8C52D167DFF5BD445
+1144EB1EC4066AFB14E63A98AF14267D3BB0825EE3EB10859255933DC07E3025
+8B070290558D6A6F0FC29C674A8246CEBCFCE9E0179061DF2504FEDCC8FEA48D
+991EF799124165B5AE85935062DB4EF57F86E4911581258C4D55E239FEBB171A
+2E2818214DA658A8A53A63A95A2B3E1D52B352B74BACD6E7E824C5E03F1ADD5E
+449F1124473CB1F79990B7482DEA40351C3076B484EBA031628701375C0B845F
+AA30774567D63F7130F50ED083E18F88DCF24E007C55FF15913D49A63735B90F
+2EAD124970F16C1A7198C86DB1272D8D9B313A0813489710A47CD054CF044BB4
+5FB49D6D2FEF1880C5CC71CE6B24307B9C13F9E17B883415AB3C89143D509696
+1B787ABB31A48F353740E5A8690DEDF3D415224F7E40DA8DCCFCA897B8DEE470
+40730DD32B5FE72ABE805C88ABBFCBFFEB0512A9A6595E829345784A06DE627A
+7CEE6FAABC17D0BD01CD761951D53A370CC8CCC59F5BB2BC5BB86B6FBF8AC256
+497A7DE6123F8F0637FB70C1833AAEA11939164F6F3D96CFF2D1C0743C09CD6C
+CEDAB017DB07075C13B13A1B4CCA8F2EB58AB4E0699101EFAB94DC8598B8FCB5
+39A5A8F81D480A384CA701474259C9CB6876263D7EC259156F6DCC76A7220C41
+DD454B3099FCE6F45BF8C9980DDECCC0281C56043573573EF891C7A0729AAA13
+3EAB2A190A2F813DFF09D4487ED7C5DCF81980994094CC4A279D7C75E5B3E6C9
+97883378B0E78C2EB8E9CC19DCCBEEA70B39D15BFBD71B10D8FBACDEE0476051
+FFA1808F00EE8D71B7820EBCB06A87F5ED27E2EF4E22B4BF9235A06797DDF01F
+441FB1F7270083C6C1232558CE200A491D2876ED06A9E90FAD007CB1C316A8AD
+05DB81007D0D20DBCBDEDD5601EC51A77F04FFF36A38A94E0D0D436D0D8128C9
+2F79342E0A754CF7353F2356920FF9459F0D2842A3A04D6AAB42541021537E66
+E5D4D82F57CD4AFA9A70969985B21BB1969D663FD7258E54C162A253CB380844
+A0FC06F72848BF802F7E665795D1A5543C80A8EC437ECFF4D3AA4FF2BFAC65A0
+28B6820301FE55672E50DE8C7996425D7A93E1A0842ED6860C71A4C16FDCAE4F
+0FB497CB44943551D1DB883EA83ADF022391E11228621FF233CF05F1CD9834A4
+2046C6091BB379F3F4D4F06AE6E1414F4F10A8397FD8B2D366FD5896A7087DA0
+17FE67FFD1061FBDD86E2A97EDA38A0BB36FF9498D0D76A605A588FF7E602965
+7C72D897CA32B84DAD8F859B0237E9AEBBE089B7E1A7EE0FE59432BDF9386E0F
+71EE8A1308E90444DDA3CFDC3D9D6838FD0E4E75496A613ECAB344A7842F5547
+A62AF92C26E4956E9C3FC9BC0AEE1EDA63647B0D3E52254DB3AA7600942C40EF
+FD52A8ED85560A29FEEC06EA3E55A8FCA27046F1090E6EF9CDC6EBDE10A7A601
+9A3CD06194A15AB92B2351DC02E1CD8D5762680D7E03C29CC394625DD84A1B10
+7774856BC7F944B274D369EFBB9CBEE0150F7BA041FEE45B59502C11E53C6583
+CB9939DA7ADE1D55B712704AABA44A04945B575A436753D02930AE6804EB426E
+590372A1A13151539AE6568BE601330F478423EF7D3C754B9AB37A610866C8AD
+478B64B8DAE80E0E59A84847B6CCDA04D134FFC1DD43E9DAAFFB53A87CD44DE4
+F63B4DEF1B4BA3B478A8A35A1365A49ECD8F8E9AF5F0CB1D42E90CFD85F09DDC
+379DFE0CEA262187FF342CC798E9F88AA9D59A2622A02E886B5C1FA32A6CF4E1
+5A25884CC30553437B006B9544853524AB17FE41A70E03DF078B94988C397698
+88559F52624516093E6A3912A8EE524F7EAF63A92362C088E70FAE69B5EC1833
+0AD3822FDB9E40F662875D21A3283661E2230852F57FC5B31A6D7BF934DBE2E0
+582CB2D36C92A9BC018036BA8ACD5BE4B9AF37A5BD38FEF83F6DA9217E9E3A2A
+57EF1506CFDC06E896AC9EE2CC56FE3AD3DFEF38ECC83D723FEFE073011D5207
+1AD14ADDED8C23C6371CE3215E1AF70732F71B06DDBAF0AC404698311E3FAA08
+5409290E3CB2A7A7363DFC39CFE0DC52E2E9688242F801C4ED0FEF53C6C0A9FA
+4D090D6081E6915517D09DC401B27D2FF89700FE641C35980B8DDDEB0F7EB605
+AD20D90C1F5E04A3F432503CDCF912AE511A0D95D3D3F65B396AED4A67C0596E
+EE422D1F2378241469EBE2F18A6450EE3F1CB2BA2408938070E4D1F4C645D1B1
+D940B46925D84EEB7AF873
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -2163,218 +2213,240 @@
 759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3
 5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2
 BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680
-3435E9C9457B548EA293C748B7CBA5C6F1B2FE09945BE1B3FED0B49321A20B08
-CD31AC277063442187140DBA3D11511E9B01D2D1AF6BD8B6A8D113BD0DA9BD6F
-D820356772D4C6570B976EE3CF9411CA0FCC29B2EDF55923695CAB2D3E0E7542
-6935AB339AD99AB28D22968A272D8EE7BEA2EF944FAF88CBEF9B02C3546B55C0
-9520B8D6984CCDC823622C6B0F04168C11A106E51636F1BEBFDA2785D81159AA
-ACC0B718E21A21B8CA475EEB054B761B572CFDB403E74CBA60B2BE2048A62293
-861996D22D3F3D2B914B1FF3BA70722D0D18165F6F65527602593C5BCAD2CC21
-5AD541D4EC92C8917EFCA15EC438D9DF5B69D3B9E54E9B72C42924EC39B42C62
-E03DA6E23AFF8D0856B774880B1951A1EF52DDDB0C0A0AE66D25CBBB85E7BB8B
-70BA7E3220C97D2E01D63F857C28678DE46FF3B17D202F9CBF61AEC2BD1D98EE
-1BB0F188E705DBCF31CC5C78ECF00B648AA01D59C6281262628872DEA102D6B2
-2B50D038BA1B8951AF07BA0DAA8BE1441978319DDFE8378506575D0AD638844D
-1F695DB636DA1A68D054846C380E8767E5BF3BBA63136245E50DBE5DC67B8921
-5C5A61A5373EC823FDCB53C49B0F40D5CC07690079968C9D72D6B8CEDD7EBD41
-A65616B031E7F449D8FC300772C48D2F615236B058577E534565F7E12E1F9D43
-1FC0CE28CD93D8C8DFB762D5780C49846669196E1BE345CB6799FE920329F8C2
-0777A9D2086BE4D1E0E12B98919FB4D7F7A766663DE79CD9B0C312B94063C766
-D2B98CCC5AC920CE0AAADF094FC2809401E899F9B91FC48E6EA206E5D448EED5
-C1CDBB38A298295B674B45099C3E3773D0608371E7046C436965582ECCD0F42C
-E7363C4ACDB902B576992EB80ABF11987E2B2809E24606BB5A1F19D8B9FA9C4C
-9D0A84CF40387D480B2B602D6FF2D594EB02EBD040C3CA557B052513F6F13CA6
-1DE768C64B8D16385B7B9478B2D42523AF8B0ECB0EC73F06092B969C873493BB
-3C936533C0076E1B6D158A52698AD6262BDB2A0ED74B24160174B7EE70D2D6D2
-C08C1E1B1B3EF322DF580DA8543B9003773A02369746D19BBE623940D50B3F83
-A45FCD4D039CF3A793F451D7F8C5E1D984D1AC033B82C43897AB4FBD17EF51B8
-D85A91FC6C00C5A8913FF116E165A1060EE1254361560CD536CCC1737D34FBB3
-8BA0EE81FAF9323F630D61FD368FAE97E72DB48190F1FF844CA03D0887D0F4A1
-FF36BE11EBCFF1537DD1784BE92BB783986E0E7BDEA554B84EE2A3E62B69839D
-DA6B251C2FA91A83237D3C0F95946FFD540730DE36D23B0492239AC45748CB90
-3DC4C7FD1ABE7D3B8D4FD7BFA533540CDDCA6862546096315F49B38DC2A84A46
-F3EBD2F598CF6582A59D350DC642F4790321B6372D5D4D255FA29371AF3C822F
-563169F132A01B4B100C8155EAB364549557C9697C9E8DBA07645370AD498414
-F8EF8CA6BC5999FDDA8F9025F6FFCBE09758E1B54189E0F77DA84F624A2597F9
-9F5CD680FECF26E44A66DD126E30DC1E88FFCCCF1B6B0D18AFEB56A0B26BEDDD
-5D72F76AEA8867D54BB3929E29FB92A9DFBF19039E836A1834647F008EBD4FB8
-2D5B275D84B1BFFD6F54CF4B6E381472664F858DD75C38417A719D4D83226AAB
-F717A4EF6D0ACAE35F3AF9606C19E1787159493F186ECF8E7D4E647E91DC752C
-16470F3CDF33E1F65396F40F410373A1654203E37771CCE49F742DEC2C909822
-E4B016DA783DF03CC03EC5FA49E99884BBD4C77CF37DC5255318365ED6F4B7AB
-F7DCE53B8A1A15B73469DD0CB185F08C3161F70C77BB73A8C410C12AF709F11E
-22420F6615588EF32094BF4C2AB73C2CBE8114BDDF0EF360D154C63CAC30BEA7
-9FD06034801476E4CBFE1F01513C639FB89CB24A6FA6475647828E54A72A70C1
-D2DA0FF4B12A33A16EDEE205FB4DCEBCA61D207CCFED715B775842C78D266033
-5FCBA86BBF186AD0ECB00C27AE7596FD0DE335A2917F1C215F2FA60836FE2458
-417CCAD7134A18D96A2F01DB13D5AE522C0B383AEEA1D6E100456C2D95ADA7F1
-A859C750606A02A534C6C1B6A8FB5AD3ACEBA34891EDFFE7CF4ED2DEE1CB8A8D
-C51F99712CFB9B0E08E637C214B98FDA959693F7885DF1387F18B5CAAA5132BD
-799152FC54B9117A9DFA9AD00AEB00D517EAF573228FEC21913565803D11415A
-6D9328E6376D959C7D804230480B2111F550AC04C84D73AE9FA2F630506D3E3D
-79BBD332404BB00323814944A4BCE80077CA5E0206FDBE4A57D6BFACF57305AD
-2AE56C6BD2BD9F3471CB384E72E41E39DC36347D48E873CF4601A7D4F86446B0
-10E3DE77158BFB3A09FB340EEE85C4E1EE9DF01B773970BB91F51FD6257D24DA
-DB2532F2692028F2E192F1EA0A19D5DF47E3C07464216AF23EAFC05DA81DD30C
-5BCE6A11146F901F5219A609E6A641059DE2932C77713972851B3C19AAD2A73D
-1D7014BF0D144EB17E3C0FAF9417539E9DDDE199E52813822BC739B55AA43F4C
-3AC4A8F156C91406AFAEAF0E9094AE1FFDEC76D6F7B9BB8D0A8DD8BAFDE213DB
-3B007ED04434B6D225F095BEC534292E27678662EC9B577176CC7CF491D05057
-7BBAE1AD29A82ECCE5BBCAB307855AF62D28E0EFBEC2A89CF04811729AD03401
-24AF0FAA109F317157B2866363975C4034DCC870C759B09E04592F99282FD03B
-8A759333FEB43FFEB7FB266B6DF4D70AD28BF267560832ABBD39084E6BEFCC20
-E0ECD7CED93B1E9095CE423EF8E71A608916F3C33E20E5B199B8A87DF1FD9995
-EF9DDFED5968ABDDD980EEC5037B5470FE53C31D3120BD787766870E310C2C8C
-51B1F2402257F06C905FAF942CF7936763D146D77758BB8253F9616FC434A2D8
-9B5C2C5F8C62B16009E5F5803F5CE71409CF9A61EC86665E76370C37FB4098A6
-ED13FE4342B5D0FC7BAE0FB9C3A18FECA4ACE33E051D9F5C485F39729E7771A3
-D0F59CE0C2EE01975FF28BA77FD2976D2BC9B8CBE808A300072542A420A7F5EE
-A55053CB62DFDD71B76DF91C5309139C168E051056B70817C5499BC025BE88B7
-6C3935A4187B3856CFEEAAA01E16BE87BBF19FBFCA6BE99ED86619DD36C6342C
-C4ECE9AE1A06C77BD4DF94B180F5FB1FBB0B6C90C90E122F353AA6A5A477DA14
-8C4000F5E4B505115061834290CC24BBE1D6A1A3D390AE555626F91EF03936AD
-1F5C09BDCDDE5CA801F786F417827858E33EF532B47A838DF6D8E63E0394AFC5
-83DE975BEDF5C779899F86C464E8F8F0AD8903B411109D322729C079303C3024
-B890DD38F7AA65A9D43C4338F1E813ADC05E79B9EA2B28B3E0A6A4542C7F4FF7
-A4306E9015AC3F73A59E753CBB2287EB1E354360655D2AD34FBB9AC6A57A8246
-0118754FFE2FCFA30ECD347E31A53A9A4B423D9D1637D2B6EC5ECF4F8F67D344
-C01FB9B2E53D0CE21C65B4D082CB231914CBB2B6EBEB51C4D7840D18B967142B
-21AE2680B2BAA6D3B27B8E5E33CD80B915633E05BDD78FADEB82E514B430F71E
-F6F097E451E38AFEE2F75C7AEB52B6FAC8E26586566F990CB427F6104DDF2566
-3205287EB96F3FF4CBE170168CB43F883A15F798C6D0AB5C87B30CA9F981918D
-A865E6570BC16C75C80B72A3626D58417337B125FF482AEF33297B6633B733DE
-D243E72CFBBA03654956A78FB9BF6141DC9A3A5D6E660D01450A6148902646A4
-56096EFEDFCD9C6DF345793040DC9F8CC3F9257E42AD5E888BE985FA050DEE13
-C69E20377EF314EB70D58732617F2800A015924DC4374621ADD703E0C1E3D520
-5FAAD9DAAE69D898945C593A8EB94176A43E11CE25C755EF8AE0F36EF3AD1ED0
-E41D51E57914E25CE323EC4FF37813EF79A1E341E98FC0E4D30D6E35BD4EBA85
-AD5591ADD0623147309FD7E1844324A5AC7F6E54D7BDEA7D16B51366A489EA9B
-41581D59FE0F96E273440F33A92A85E9AE5684B3AA5A08B6BD87A79A744D6926
-524943EC41416DD1CEDCCAE4C3F91510A1B510A0156B687C95D4F67EBA059505
-03C829B1348F36C5BAEBE1ED4B9EC4C63DDA02F9E8793B5269E2435520B3BB53
-23EDD7EB001AFE5EFB90DA6876E4D7B39CF8943D627363A61091BD3F0F36BA7B
-2694225D1B040F156B3B04B165F826A1D7BC183978ACA115F0F81BF657A46380
-D034082AFE552EDF8E28775BB59B81F1B36B7E16CE57ACC7FFA13A23D038FADE
-7F9D26833EE2C86D8C937E60C44C5AD6D7C02FDCC6DA96039179A4E4283BA0F5
-0FA28A668A65270BB6C62A946B7399639BCC0E1AB4013C28ED1067A570925078
-82A99E7F9367FB74F25AB74D3142745480887900E30D4B2F427E1651313A5FE9
-A1E7124C54093993326DF6E48569A42A67C9525B695827BD8A70B4EF7901C668
-1D41DB4B2ED4CBEC347A6E90E75F2D7FD84804987B5B459D2925D1BF1E738A9A
-B121A36FE2C931A4DDF01138D116BAE58F4B201B36E198270D06E59B6E08C9E3
-18466D790E84262B4F7626996EF71021CD80CAAF1624C1CC72557B1B3F96C616
-0894105E095724B5C3297088BA4A14D46CD2B7900841FB8F9866903C495C38C8
-4A8B305DCCACFCA06C58EA962DE0AB00F11A0AF7C5BDE26F49927D0D638D36CF
-3367CE6EBBCD6243E378E783B61F968F1E7F58C97A1F03A9E7CDB88FDED075CA
-472520D5BF4A35244C3DFF8D2813E34E03412F3C308F277A0B28DAE4C4772821
-A434FDAA0206A235FD83C540EE06C31949D3F7F48BF654026DCE949E518512F8
-BCE17280BE104E8B66489EA49C7B3CDC8A2057B1F3DB6BF3F0C651FF464625AC
-EBE976E904992640AF13CDBAB97A6B2E7780AB4F8778FB5FCFCABC4E19F91605
-123A901B1E700B4A83FF67595918D334595EBE92999B4ECBA83523D478597F68
-945E02C38B2F2E840E64C34895A45BFD9B85007E8A230F996C955DBB9680EF5B
-9EE947E6A490732D1D0D4AD33FA98864DFD4707B32FD5D70BEF74A34F5402998
-06D751866DAB7CA213EA6C84C27BECDEB52736C28ADCDB0816A3F65725A17DAC
-9FE4B9D4B2BE6C3F944430E29CB850E321B1F073BFE5395B4B80B281D75CB058
-AD9E1569F4EA0C46C462E6C27C039CB1C1453B59B76D73B943168566176D9C33
-74059EB3575654058ACEA3BC9E0CF2C054F4194E309F2AC348252F1DB642A65B
-57E123054E8EC24E26EFDC2AAF65987205A2FE63A9DA8E30A3AC292CED39DEAE
-B011658D8EDE17ADB556BBF08422B5CBCDE3E480556FB42B95D837C2C44E3883
-6D50FEBC12C3FB7030652DF5C6F8AFFAED878A0A075FF7E024009E85BCC0A9A6
-DA7A8DDF16E2AB2799C27A05536B73996447FF8DC2701726682B52DEC9507AB4
-8337BA4D2C4281596CDF9BEDA2ACB02A242476F8C5EC47762BE1E54C0E69D86A
-2F0C0228253C1A66949290F695D46F4F2A46AEB30C5233B009E67EA531DF071F
-CD6F5C222BD18BB86C0605A299D00A5436D42D65A247682346BF033CA610BE35
-E141ACEE370BBD48B1FA8250FBD996959E5407711BE194A870CB334A0376FCFC
-67FEC3451FE636366BDD9860972C9E4DD3DB73FC8285FA5DB7317F4BEF834C93
-D6179BA99D61FAB2B37070448429BCD332B05E49B8FA3D852D630CD39E17012E
-ACF06CFFB9CA99937950D7BC6D448B978274B59A14E82D2705705A8F805E934C
-23EA34E3D212CE080493C4D05A25A814F63279F270CFEA483EDA0E50AF5C72A4
-5A89D2C08CF41C5D41E9ED29F879893B26B9C6F13BE91A12652B28566ECDA988
-B40C2C403B5DDF983669734F5C9CA04867AE41725B599C8974A69F0F0CA7CA3F
-0BED4C299F57026079A3EAB9FDA8A6468FD77E89E4E1CBB5E3388450D4E68943
-7BA91778FA6F614D92DCE7984DEEE890B721E91D6382595C6C004EFF098468C1
-D797AFBB27D53DF06C11B4643B9FF3D59A2CB7C4585C6678238AC1835EE24701
-298A98D99F05A64A7B4F4FE1D85F7058FEE44C1493682D5DAA4F8CDA6C089C7F
-96FC35F21B505FA0D05FA6AC283C7885A15EFB9A0C31F5802F4F7ED0A06CD12D
-21B1AC442EE1A40D964150E6A0AD9F9A2314483A8EC826E4DDE5FBC2BB496227
-70FF852AB8F0FD0DAB0863553AAEC4D6FE2D38A2D5804740CE839D2CB9B03DBD
-EBEF5F8ABB550D7574DD5495F64EBEF1192162F9C6D48FE4977E6F8FF1E533B5
-E5E26138D3A07BACF9D89875DCCA167B5949202AAC5299C3162EA2C83D05843B
-30611FE06F1AEDF677B1CDCB30ECADA2B80C551A188DCA9C57C1EBCDEE76DDFE
-08AAC4103BF045BB811BF5243C711AF0742FB2FA0BE4239C22F70CD76429AAFD
-5C92718CB7987D62E6A3CE3DE15F239CFC313373236082FA97196B77A5E5AB39
-22092749FA76CD01CA57379F0AB0E9F64426A82AEA5C8835CEABD6C3B1DD81D0
-25E070DF1FA9D41FB1F8CF1B5E99A74657C370F22EAAE33469FFA4470A60FC94
-F79B71E9CBCDEC846E9B59845D9ECEA6FD6A998F5AA01A884CB3AF98B135B027
-A3155F177C3669758F56D47AA7BC3F344B3BAC14D0C2283DD33B8F87FA3F52B7
-1414D424747672C58D87AFEA5E1D613F87280E4FED38E0236BBC14563726499C
-974B1E9A5419763165B378CC96DF48A715C72AF6271D01266F7F1507015620D8
-05123637E87313E672608C9668CD52D4B8DC228E500089F82E2EA8D370D5383F
-8A9DF62669A85E2C2D5B8B415F550131BC3C48262FCD6956094D83B94C239473
-585A3926DEC516E38AD39D22482DC9B5C8FF8873213F453BB56F3B3076046067
-E4A2CF85E54F0F15C1599A7B58360CF1A45DAA8F43A139B8A4E5D41DFACE5FAF
-C4F6F99A214B162CC36FD6D13A795C9626F008A2346C79519291A47BA797B1D8
-199D7B95E0EA86E8EFE76F9AEC48F06D565061B2CCF59DEC7435650D183ACA4A
-DEEB0E4F2E1EC092DE103FE4F5F5746255472E465F1A7578C1B04CB61BAB2A1C
-40560893723689AFDDE3FE9F4A55908E26140AF801E1B9CC925BD3E6280B823E
-C25D9D5AD760A624A84C1785A0DDE8997F81F84743C290985F535239DE0111F2
-99F9EC268912310C6A9202CF5D905EF42842AD29E4C3A7DA12DF2E7B63B19C28
-B42D8F6E105F3AEDE58C19FB9128F877622F7624D2B79B2DA091141DBC40BA79
-BEFDA4BD015F797570FC93489906B5B0A62372E71421EDDA8AD8B1D503465E86
-E26A6DE9D8C4D353AE32A3BAF3369570A48FE3CF941CF84C5DD5FC85A6D8F4D7
-F48042EC40104D9BB6FA0BEC4E43B91CA7CF71E156BF265ACE86EBB3EF52D281
-FE835223ECCE693E94FBD964C53A9E07FBF26252C13450545451C1D4EAD5655D
-ED1206A0174A251738AA7ADBF85CB37BE454461C7151D9D310E17CB20F7BB0E1
-268C4631E1A156CE5CCBE974CE237300E19CEE9700250B2572D184EC43D653FC
-3FA358F9962C2633A0B96E912C9CEB406D5D16DC2329A8D736BE07FF48BB8A03
-19C53500E4DE79BC16EC7AC06DABFAD77CE1787677B3911D73EA4379C3A5E102
-39660863094DBDAD52747CC712C0D4D257C05718742DB59F05C9D80E46066C0F
-92543DBC93DA09172BAC57BF982A861D208754ABB92C85F18DC6E2AF4416D426
-421163D92A1DE96D63A17CB9BC57C9773EAB3C57E2D001AD2C90C4D943D52441
-859D4CEFEF24345C55685E82A57B41975470D3DCFE7426D2EF64F3C073D16E80
-B44127E808C26E7FED75CD24AF1D84913879B71BF2253D7467A8859AD5ED2788
-B030EFDA426509C965ED3A9AC9D95E5DAC1C6157F8D32F6543FD33AC3A068A4A
-29A9BD993335807835D27A67A373297130FEA95C2807A19718B7F0718836AB71
-5226CB826BB09CC39ABF6E7ED097E8D66E00927A2965970FD1CF333CD617DEFA
-F4AF7DB7612559E63A7A6010D584E272818C5C8B745559CB509CBA0F1A8FA225
-2C322DBED338C08B19CCE3FF13834F68E9BF552D61E4BDDC862E898257674E16
-B4FECFA24F1B184B481397C69D46954F224E2406EE75D348BB9B32121B6C8EE3
-61D9D619F1C1B4929BEB2D737DC2E603030A4364F6C9D5218847D23F346E5431
-F8EBB73E317332B658C9B041FBDC8EC69814A26E03EEF802F86904323AA2A836
-1B5B15ABC081E6C6D6B3D8C005D7F601330ECA34EAA7D7BE3F5D971ECDA35418
-DC29A0605A591AFE68E62E2A64D1224A2319ECC98B9BA67C3D1979D70998F768
-BA011E21040C828EAB1BFEE70B92E2F24C30C523DCFAFBC2BD5E6E6272E8F494
-BEDFCB05B79C19491FB8637F2C454C9813D704E3D03FBA8601F95BBCB99D95F8
-7E4B4EF1B1086FD47C0F1F76BD8B7AF66E3BBF4A1EB454C5AC86572156815541
-3D026B49430AC3B2929669537C5D63A39832083B0AFB89884F684DB31B5A817B
-C043D6D4B23028A09AFFBC0A967054DA5638CF9A9F5B41EF52A7B48D84DCF239
-9A466B90CBD9BDD6FEBA609A3E7664A611A7047F6B68B07FAD7956F3B9F1A59F
-A6C2EE5BF51A02FF5B578B9E914723CDF1E5AE7773897126085E34E586E05AEC
-6D07CC10EC5B7A4728A1316F607EFD0FAE8F7B31C89FDCFFD22797BE968B11EF
-B56CF7E89A80B023DAD5DBC7B15D0A08D9B5625A62FCEF86F713E7FFDB479887
-A1215D9DA2C064C5332C4A7462635FD09CC026F47F901480E10E5AC6CCE1C8EF
-894902EBA0ED9FC55632C8167D073F64AA6C2C0B8F40D38B8669D64E6F58C460
-1E8CA741C92988CD29CDB5B2C85E737AFE4FCCD9D900886A3560E972C9E237CA
-9BC756688B48CA42D5CB3307EA4A832285E3EAE7E6D4A4545C753F3DBBEC0697
-3264328753B8AACCEEF355E38B7CC84CC4811CEB834BC9533D12B3A8AE18B0B6
-85CF06D4300C7FC18B9528745A65FADE21967596125CEDC3BCA795647717BCA2
-BCD8F30E0F425F35CE8EB9CBC4E0B8F23B27174137EC7A66BF058E925238969B
-E364DCAA8DD633966492F4826A4A30E0AD6FA27C4918459C8CBF4BF30C0EF046
-7476227C3D5A8149B92536EEF75B049744D9619D5CCD7BD473565E010BD89ECB
-4F5434AD4B81877B4A242ED3842B4FBB3C5145D589FC44446FB6960DA81B3B9E
-04EC5BAE4ACB1890ADA715870ED843407D9283E379A6EBBD62B7518A136A9011
-5F0D2C23973CD7797A40CC5991C888011BE932410AA6550923414ADBB1050791
-2079B733D5B53AB060CF867D91236B3A1E00BF09CA07C30E1A1F7537FA196DD1
-E9AC4CAD995F5314DC4BFAC2EDDE81FCA325BEFA587986986E21AFFFBCCD52FC
-DB16CAE8031E74C5E7892A6B49D8D09D10D23534AD6402C1D1BD97A3FFDE2DC6
-419916A3C41D5039F39FE5599C5E25A779D073C75B814E97510C7B3BEC6A19C5
-8766FFF7BBAF976393C985EA6BF0D02BCF5DAD545FB74D29B728A697454F0888
-CB7ED67356C7CACCF2D37F622DB52115895BE68BDD254D77C12CC8BC929816A2
-55877F8425C5B282064F98010B75F5EFAACFFCEB25D4362313FCDC1BDFFF5BD3
-9855FCB6F5364DB3627961D98D65E3F3A4ACA15BEAEA029F883AE46E9A1C9206
-277AB80C4463B4CBE3E30A0EF04152911064E5E03524DD2764A5D6CBFB03C209
-904DC7B724ED51873D8FFF08F2C18792A02BA4610A5B24A9B5373E9A96BBA0A8
-74659212BB9E9AAF246A6193CA3B20B21FBFB800C1E6B743278BE6D9CCDEF9BA
-CDF460D85185982443CE5152EFC9D9D01D31C4086982BF6C08B372D3983A
+3435E9C9457EFFF8760CDD8FC734ADC7C85D2D049368607CE92D63B88ECCEAD5
+2F69BA317E91124B17D6AC19B713BBBAB1093DB2A67E0365BF9497B8FE70C0C8
+30FF5BC27282C4BF76369F13F70F6F072892E7852D85067C4B63877DD364DA67
+D6F59D56FE015D3AFFAE8A9018B61917376BD0DD4BD4E54EBECD930BB3F8684F
+C05027818B512510C0437A9E27C18EA567CEB854F1D016244540BD83EE376C14
+9B181B33FFEB874BEFBF9A6A575F0189E551DFBE2A27E58604866B0EA00C3252
+B51D3BFAB13859D3146721B7F7FBDEB72AD9594F18BF06AF3FB40ACE8179F34D
+69DCB6AD7062163141D14958CF6BC56D956665A97B25B8B51A4E47F3F10A993C
+3E2A3FD4A45C673DD6DB97097D930E413B11213F2AF6FDCACA247677941844ED
+6766B08BC97A6EADCE6C8EBB4F8060E9AF00BBD06421FE05E073B8DFFB075AAE
+A182557EB5EC144D64C4E5265B109DA006A695425FFA5FE3E87BCCB039EEE5DF
+5A8F2F81986DEBBB8BDD7A7E153DD961321284A43431B23DA783208990D98EBD
+76832549BAA2AB6A050D1117B86A1E01FA384DDAB1BBBA7C7688716738CD336D
+A116DA8770768EE6C2A651D7F2D84CC4332E46E900C1B0431F81D371A826926A
+07F662434CC03E38149A97E4B8C24490BCB7AAB97B5540C9D786AE0EFE5A3F54
+618E1BAACE0D0A5B9A903CC6D2DC538F673EAC62A01923AEE7DA67A28889A4E7
+A5D658DD9938961E8E730FCB6A2CEF6668006E5C04B66ED2D5085007672100E6
+F00C5ACB34F4F4972F839436F0FED467181A983BB49D2D8D0A0CAB8AA321706D
+BBBCC2D5BA228BFC8FE10F8E6E69EDF6606864ED43790A877491EB933F312F21
+6FD5FBF2FAEAA99A425CAA2AEF924CB474A0FB54D2B457CC797AC3A62B9CF610
+8E394C82D9F92DB2625404A5459F064A5CD7C51959070A460567D75CA3B8683B
+F1977183878F49DB162C7D87DCB6E201ADBACA0F5250501D53EEB1289A241474
+7BD8AD77037F1AB509017F0EF8FC2B70EB04E9120C6663DC891FACA522F4FAA9
+556DE89E9455943F7362F0F50F8E2964A0D0C064A27EDFD698CFD0BE61F252DD
+922A155D4931D0A6BD7396FDBC07D6444F91D7F866BF0C89B0C9F6868A1CB44E
+84CD7A9DE9D9844242C2DE96697E11FBFB496B0ACAB937CEED623C92DD71045C
+9D58FFCEDE477553976078FF31183F80E9783B8EDC325B2E3A219A639B2FD84D
+CA7FB7EA63B7325D9B35ED13C72B2F708BE034837A853F8170913D67ADA5F9A5
+199A65FDD85BDE4DC0F2865F0EF9F052EE3E2120C8CBFA99A03E892944E98923
+7A4B2284F32EABBFB288436EFEB2FDE3FA8D3BF6FCF7859DAE43B6EDF4288A56
+17D9D38AD77EBAE36F4DF45F8B4124091A8BBE306A89B60E0B049780CED64151
+C4118C359DA6A013783E9BF8D5C12573E82B7019DBECE77DFB27969EBBB5F74E
+72D9A697D2969A822D58B1051DD1F2F9A46F2FA33898A37BEB4F99CC4F408C88
+A0CF3676B0BA19B6574380AA99A3D18F134A83332B48E0E7826357BA5D72D761
+7D435B5D8506E5268779D1CE1CF022457AF14C2150F317C7ED384E09F2E09680
+E5C0B598D2549637517A91332E06486F516E9A374D91E599100BBAFA702A0686
+F6A1EF857BD9F6E74ECA966563FD7B7064B258B4F46885504D2758DE2D449C10
+93FD76ACADE413916F0595936FCAAAE32360553963AF19BB76AC971DA88758D2
+EFCA87DEFE82EDE2EA4F7AFB092181A70AD7A3D54485FBC286D441298DBC69B3
+7C129B6BC12BA49B508ED9C5BC2077542A5AD68F751CA321B935F4C240C36123
+8F96BDE970590A9BF7BEC86ECE1620116E3E62C620E06646B59DF4994BB2395D
+813EE57D17FA57BC2D1E9A7F25CAC980F078C6061AADD3EB7786C710C148B26C
+9AA1DECD68AB78CD3AA6CE7D9364381AB88A11D3128814AEB37D2CCAB833D9D7
+F3D2F5FDA0CD46AC42D6E675858A37173D04B855877A95670C8639BBEC051D6B
+D55B34755670DDEFFBF52CAC7B8FBFD391ADAB7D682B994AA4EF7091CC4CFCB0
+E2FFDFC4CFD7A32EC0350D3CABC5FA06D00211F934EF0A21A55D9A0417B429B4
+A4EDBBD5B32A3C52AF24C28704627F9FB02DCE8223CC6260B2BB5570D546DCD1
+00A549DFE37BA4D089A394B5F48C5978CAF9317AAF7B90E275F852B7F4291D7F
+2E7F857B46D39BDB49AA34FDD97C31CFB621BB746EB7FC6FDA68B6B765386B4E
+346E2851D743E35EDC75201A6F24B2DB53FA469E06AF3F9BEFA5BB2F9B0D5BC7
+46ABBC4D12AE34177B0C6605EB24320584DD7E0BAE2F61A0E26CDEB724CAD152
+E1378B11F694CE89BF0CFE76B2B0D08E028E463E9D4C3A7C42B2612BE7C2A3A1
+61CF56257F851E2ACFE1E5042E819E966B65A3C0B8626136D1B9192B474C8F93
+C0C6FEE934C5C89980D64E87DE13B3ED4DE1D5B2D2A26031218E23C79EB544A3
+12EF1908F2495CB14AA4606A5B0F8BE1EDC7DA9C4B41EDA007CD939B1E45CBC8
+066FABEF0A6E19BF640A5D868ACC05ADC95F149E108406161E0A87BCEEEE4191
+A22A254B7704DBC075EC871916F8E1656CA5ECBB4D8A92A2A1E326E0BE8448F8
+DD045328FC35488B3016254434CE695AF3D79B71638705A759FA8FDEA30D70D6
+09A8964B8F769DF8E405E35FC421F1D37ED3CE3059FA7D687905BE4EB0AB28EC
+C6DC2ECA9F91860B564F9840D715F5AC0689C29974D61FEBAE107DDABDCFAF58
+1579F6BABF7B69AE6E94A8715AB097F444E888591EE86EF453EB892AF684CEEC
+028CF61E0ABA6907C3438CF5D516C74BF1F83FAC0E41E7E2A3A9B2E134255B7C
+9B329B930F5253A4BC363E7C37F01D8C9015A613C87E3F764690FEA6A4E39971
+762B4BE625FDB11409043249C5B3A1355440D977DA46E2F58E6E6A604E1FAC31
+EA904089FB74D4A0A7957BEA1575821BDDE9EEB15BE581C0D00CF96715FBB732
+30B58E32A698B79408C02B1E89FE2584EFA289BCF25226FF69F3270B1FDBDD52
+B65FE1C6849C697F5F1C84EB9775C1ADAC84B699882676752CB0453FCBFDDDAB
+CCBE9CD900DEC7C8D26E3147E59836F163B008B6761E55C0E86362832D6F8A94
+6C12D7EE0BC41DC1613853069F5B80B80ECAB594C1801CAFBA0E5618330B9AC3
+37C36C594E49FB3B9B30C61D512F6ACA827B706E49B3CE17606149AC047A3EC9
+1F150D9D96DF43A8773958ECCD43A14B1FD004ECBA707598F83F28A8E8930EA0
+38E12AAF157A2E0BADC6CB7869FEE3EBA897151F347AE4EC66D161A786134DE2
+292B4624BFB9D6327355EF90E54882A8BE0A680CB9597E5F5235018F1DD94516
+727B45F9FD64AE608C2E1CE5EC033E83528F3880676F1B937C9949BECC7D29DA
+09044AFFA958C1C05E802BB11E571868897E2978F48E881E7D3F4B86F52F4BEB
+BB10FF3352A79B9F920366EA623C97E985C388C4F05B67494F18F90F7681EA7D
+9C5E9D2BC9BA2A8364F009F0723B7BC05CB51448C7911FBBB8EDCBCCD016CB15
+B5D03215C20E45C0D943E9EE5D5B8D10BFEB1559FB07467C1FCF1A645E1E03AC
+809DEA05E8E8F435EA638720B17B3736319171D83E1194D39C84F731BC99A7E2
+AF667325026034DDC9C287D2B547B1EDE5579EDE3204B440F1BD8D86E39DCBC4
+1371DF589530C2B1E52682340A53EBC61519E85CBE2E1CD6A2E1146410AB577B
+AAD3E54654AF1523387D99B4A34386F8E00EEEFABCCD0AD168FDBEED604E6BF8
+BE9A1D61924488968B9234806E7C742BCF543B0EDC0BCC82BDA81F0E6ED13A18
+A65FA2DEE70AEBFAA07B7EBB2B9F9CD679190F81F881B62A3C73718F1E45D1D2
+852FBFC9BDCECDA9DDC5DB00F606E36F12406B35895743A0D3C98E948F278C11
+744DA724294238E5F45A0462000382EED299AFE5E75B74FD02BF913AC9CC7297
+713E05DAD8B375AD3C6A6CDF6499CC4E05560962BE21E327257A725B2DE3BF73
+0B6746CD04B12B8DAAE61BBA438B95C9B6F399856843C447C1A8BED4B0C4535E
+04D9B05641BE22D49D0FBDB4CB17D19F59F5A474C9C710E5F4B2B0498AA54D3C
+534F1B817772C144ACA1095E213499EB92578193515AE5CC6D31F12935796CD6
+59918D374A9462218CEB344EAC6CE58816C32D36AF3116702EF4201284A05398
+30A2156860CB06441DCC9F4D5BE63E970561CBD082A85AAE796F534AE750DBDE
+A102703792722602A86D383D722716164966550AACC45DD36CBAC38064D278F5
+5E572971C941435C57603126D2F454E7EA2D22DA56A5C558A040600EE4587B66
+5B76E7C43E459806C0B68A92FD65EFC86B77F00E41C1D22A30DD0377A1038266
+E657D58085C9FE1A5BEFA7C7832A7BB436F605BE25E1802CB96E17D9AB5F1587
+190133B269EAED5C8BD9D19411CA25BA9BF641AD797DD1A9BBCCDC4B73CAB195
+92F33CAF716E919007FA1F45A535E8D5BF9FEBE9A383532828D53327BC06C553
+A6D923C12578EE0331FAEE7A81AF7B78842E447EECB754FFDC730CCD953A0538
+7E46FD767295F7AE086647C801ED8774E0D97A45916B3BF7DD813C9776541D29
+559BFCAE040759BF5564EB2D018FAE08D684A6F74860DF9B3DF009431E7B7916
+1FD97443E6751805CCB68F4968CF3A3CC433886CC93B1706320B0ACD326D6372
+70C81D8B51DC9FA2EA62C07190339B8D1648DDEBA0FA8CC872E053CC060177FF
+6C01D9C94411EF003E0CDA737379C8FFC7FC54380874A9090DC773745254A489
+35FA6BEF069B087DA2F62475AEBE1598D900D46C252A6FDE42B1ECBD27CCED6C
+2F8234AECED556059C054D00012652DFB33A8FBF5FF498C98E93B686F543DAC1
+CB11C415F7B181C95262A8E8A3EF4369D1DF6A8F75A6023399087ACE65797FBF
+C8ABAE246AF66DF1B6A64B237C709E1FB00F38B8AC880E479A1CD019855AAA79
+B95AA71314D51115CC585972D5D279B21406F5516D6519056758459B9FAAEF6E
+C0A8BCA3B403232BA2DEE0275A725251E640B56C63C293297691DFDF3C6D7052
+FC0E9446879B28C3FAA63F88D52F0163FC77D5E53D1701FAE6CBB4F8F8E094EC
+7FE9604E1C445DEC58E0F04B341A1B6FF654A373E1F7A5D112157BBCC74EFB8A
+F54AC59304D67AFAE6C05E5D913F36DF52C9AD8657BFBA3B82C2EFB88DAEFCEC
+512C4DE922818D4B45CC5C125A235920F625B82D7BD3B1F67D97023BE2ABE07C
+64392455CA738FFF65DB9A9E057B3D478D21F7D70C22FB41CACB3FF41DACEF81
+6EB40E6AC0702A539EE15FC5C8D8D308CEA31A0850B9F4AB37935351652A26D7
+B6E9021B9991714A5DAE553D3F257B11B70877BC7BDB5BEADFF5597DF0F2A97F
+CE3F485DC400C7A6BC0FB0CDBDFE4E2C7D54D30564D0DCEB5ED8B74B806C9B26
+EBDF2784256ABFC0B34D2BAB0C14B1790907F2469D27BB38365E988B5D3F0905
+1B9AFA91983B2CAE51B7150E0BACB2574E8AF0A9B551FA415FFB0D7FD3C56F70
+F41ED2EAEB9C573262C0A2E54C2831A2AA490944CC26D3D061B24C690BF07DA0
+3AB4322B49FAEABE6286DB0201411AAE97BF9C9458B2E5217C2796A13F87FB03
+B9A9583548D47BCDD084C6CD1C280E1C845E449802C2C7499ADDC3A10DDE21B1
+0D963D4B975D85B391ABB0B853BB7F49A85A0A1FE690F081D786A288B8B56710
+E5B012E91FA65A78E7248D31CF179F244EABED1B1B2295F1577DA905524360A2
+B80B28C8B13413FB8490EB1ED2A0EAAE7D3CA3A5BB1476362A7A2124EFDE50CB
+E84BBC22F9BB0DF789570AA4F154E631C51A1826629E391B8693D3E850F939FB
+CF054CED384EB456D9AD552A1F08A7BF00B19515059E8114D94D4448248E5CA9
+F604BE6714BB09528F60EF67C16C89332ADBE394F7A6CF48A0CFBBFB6EAD1AA9
+B317FD63C152CD39CFE1D80787F9B6CA7C19FEA8BB9C65D8CEDD8F8BC9DB8B08
+CA5650452AFACAA0F02E99FAF09CB2FAA5C558E2D92DCD53C410149463555E56
+4125AB4DB95AB5D8BDF720735E68165BF752FE1B5604461E4BD82FFE510B8443
+7C8C8A8F0819471C5222F82F3B716B76F8D1BFDC0114CE1628029C3C458462FF
+99C7E8E6D0EF22C61C953D3FF2657DDEC85C58599628269ACBAF689C50B9F64B
+85B9A5A9D591C270058D6A73FF30A0AB1081EB9A9854BDA4D815DD33D46343F4
+A4E2793690D5DF0E4D457D2D0B86D95F60205B65885815EA6D3C38AB8B61E4F0
+008AF37551F210900D74C1B7F0602564BC06CE51085D287D30AA51731D2AC061
+AB0624C0FFDF43D010EB32539D123116681B83BBDC37F60D563570AA428810DE
+735B5C689049B90478EBBA9E7F0BAAD837A47B5B1AC95706E348CD584FDC5170
+1BBAC8D58B20DD71C7F7BDF1BBAEE1FAD1D3C5883ADC4825FD657975B8A61DED
+136319282AA5C042971B971EB99E7FA78C57129FCC0999B59E466C434C3D0F18
+35EC55E7D8479A718879471E307E3F977F14632A5D7A597132D8572A2CC09422
+95E83279E5D16193A310F7A0AD93120755ECC63E63208059B86654461233EB51
+84C60113227E430515A65AAF61C011780FBFEAA3AC1D9ACB76F360A405BFD1FE
+F3166E916B1E609CFE70398C80D1F4B8D29EBEC6D6466A612D7E12FA34CF7E6A
+622C3165E565844CD66567AB24FEDF2C168B583ECFDE0F9768DD1BA11E614AE5
+4559E109A27170AA117F68C58FC833FC2DCD7F46AA01BB3ED995715FC9E36DED
+E64E0F6ACD9D91FDFE513E32AD6EA7069E0ECB1732ECB8FDA0E31AD0E9F1408D
+4EAE7FA67417967094740DFDFB9A348F7806A36478279E8AF456110067C8EDAD
+B0D3BC1C082DE55B10E1BC1E1086C741313C6EB3A51355A9F0BCA1D1F71982A8
+AB605BF40FD57324497AB7461386ED754DF35E1F857F70D4301B796623B765F9
+1C001BFCCD62052A9779E6275C777879082963AA7EA7AC359DA85444A764BA80
+3E3E57EA5E4AC20E207D1522EE970911AFD3F5C1A36E1E96E8845C5147C3CD49
+1442C32F4399BDCEAB767C9B110935FBE93CF1357865044D9C05E6208DAA69C3
+AF801F774DFD1C8CC029D3B47208BE1F6580881E0CEB27CCF5890DB1A1E7DD4D
+346F219913E3FB436D61583F69CA98F644590BF3E7875182FE0799B91A82097A
+227524CAC80B80F2F45863169DF65BA31B91C8A5871866AD6F7BF4D2CA56F56F
+3633CC6D753AFAFF001CCFEE163BBFD0FDBFCFD80AF90D4B0C6CE62935ED6B1A
+B319666C116F0B841F29C3B641E78E90BDABE908B9FC2CD35ED371149424DE1D
+6F45E7B43066E8E7E5640F1AEA624008CE7242B6EA0C9499AA30D1B00124CCCC
+5A1D3907E5FEF13337222C5D95B59F18A30EF8A1C3931D4503C1A5DC79CD5141
+CDED2EA23B16C3F9C1638F6781153DDC4DF7E2F649BCB9E57F3A37FF78431CE3
+7920A37791C1CAB5FDE8550753DDC81D9B02741333CB4004E7E92883855ED803
+A11430BDCC0ACC61A5A79A28D3266D336D14351D2BBE10E894D056DA76DFF384
+C3CC8D3F1B2FF04A77A8F392A42C94EEF317F8899D2966E8472F9FF2DC02C7EC
+FBD46501C8ACA7C6E4A55CC291981420CBDD8D5091613D2C20E64946A914FA18
+C1DAC6412C3C3A451703E22A6BDDE685976DB21ED13A772DB446DF076311ED04
+619ED9220AE30AECD5413743E112542879726A2D6CF6BDA335A2327D7FEA2885
+9443DDD33654AED4C0C8A1A938443664B62A120BE54D8226635C99D1D4ED197F
+04C4223160D5CC6311AD444DA511F60C353A2CB62367BBF5619F09EDBE4FC924
+8CAEB8C6BB312484D1940BED9722E16C873275DE120B7B6F37A6D0D210C9C61A
+B48A8E227511289971FC6F38F5A712F4941E9BB47000DD46686646171AC0F3EB
+15B1957DAA1917057B6B66390E2F86F36D8643707389D26EFE677A230213100C
+AD72304DF5AE54B4FA60AE00A3EB65588A7880E2666CD11D0853926B214ABA21
+E5F82B7B7C254077C0A5076F8681284A6E5B2E0A55969E9B0B73B8AD77FA5F06
+5C31E0503CE0D0D6F1B9D4DA5183D07CB9C1B1110C5A84C447469AC99E62DE14
+93B95542AF83FB050E1A700B304F5595412F089826B70F7E9AA2FCA74C2D1E60
+8E0EEB0CBAF3602CB63C677F5EF945E31624320A190FA0F6341E68C02DE26071
+58FEB61891DA1D2D32CB52240064D90755DDF6E1628443DDB8A67B926CD0156C
+2BDECEC7146F78DD104DACA047501D460998251FAE12CCD05829EB26E18D29F4
+3D44F01BE0D1DE35269F8DB64600402AABAC32198644F26E7C5CE0CA590DCA07
+E0FE5924267672E2A2F45128E571E001BC4634961CCE2999405EFDB6E621947E
+D9B20E3E14160BA15230944BDB3F654B753FF0BF7BF6B698AC2C258D5D629944
+599652E315954CC1013167202681256CE54704976CD87A9BB029A518DC7E31CE
+ABD5941EDD39D4D8C504C2906281356A7D4E93FE743E1F5025BC15C0863081E9
+8C3C3EDB67CA83D3A2E6120D776BBA20552FCAA137157C6F8D5DBB7C8B0FCC18
+7EB1E73EACADE8EF665F8EC9911193B6FBDA109F953161C644DB1A687C4A7A83
+6683B13463872D6543E738C35A3F49C2C603806890914E314011C685C9EA0553
+CEDA2551487CB60971429D0D405880C07255A5CDBC701F65B4530807C0DD66E5
+31B5502BC01EDCD07FF63125D1A87EF1BDDAA8926E46A81B9BC98412664ED421
+915BDBAA1F6F6E3002A6F4D94DB1029741EFF2BB883EF457248A86EAF965F1FC
+8CAED5989B6416633E1A36C0E7E474508EC4099FAD25D1C9D497B1247FFFF4B1
+1E77F4F451A8FA4EE5129B8FC8386A580E5A02BD403842ED1E919493F1956C3E
+EAB6435EB966701A24C3EDA47683DC1760E076BB1A272D35C23FC0224EBE11CD
+49F777CE1B66A75077C9DE4C175C29FC2889F62DD771341C24B00E10FAB556F6
+772D69B3575CC99672472BAF57048AF908B76D2EF6150DA9991E04E8773F7B96
+5CD8A46324BE12FC9EA40ECB8C38DADC70A3543E0934DE9B47429182217505EF
+A07F43906A6498B0184E19FB0B170D4E77329B4096B36E58827DC7D56692C4D6
+C8643EC399F1AF6BF8C5B85F14A9DFF24AEA185BF629A20A33EEBFB448460689
+FC343DA6B5F48A68F62E2FF683F236D35BDEB68B0F0D84272CCF14EF735D8E2D
+0B02FFEA4B6C75693FFEDDA20727203795EE6FC85F3795A74A8E9DD88A35B3E4
+FBCC6984E4D4A9CEBA0A2DB69D7F9277A68CC01CB4F4D4E4DE07F0D93C3305EF
+87DBB9504E80B0668620583BD779C13C2A61C76978F5DA146AC643B5E791D899
+44CD866141E0E6CF895F41C46AC6C937B23A05946E5EB522ED4511003D81297A
+058CDE8A1DE92F23A61C36C4E941C63DAF17AB1F3A4AF67D49E7C504FC789E9D
+3EB18E68FA8C0D1FD2E017493672DC1DC42806BB762A478715FA4F148D9BCFF0
+7C6574CE4E7576ACA7E14852984E3DE9C0F76EE237A345FEA45AD1DC4508FC8A
+1A9A29A2E9E181B6B4587B7DEA86BCE9A74A51182B5A604BF74D7BEB0018754B
+106580A4676D0CA301FB181F592A803F98C5DCA636DFC29B18A5C46AE6F91106
+3EF0C1BCF0E5C0F477C6BFCA60C0E704D55CBE6DDDB4EAF6FE22487D6A025E0B
+D98623411D335EC537330A3A54031AF10270B46A869C2E0F5A015F1D7D01BEB1
+E22AFBEA6DEB8640BCD7AFD0E377FA6FE2EB93801C601D2C53C3A9D4C1E81804
+936CCD260AF17D9DA1493A90235331AC47E1FBA6C8C2032D2FECD0D1894835EB
+DA840482062DE26E6D0CC63C6D42DB6CB3EC7211C9AE18BCF2DBD704475B66A3
+9FC655B52AEAFD3F21E9EA1BCF80EFB465330589E1BA6AFCDB49DB3E524025EF
+1BD483A98927F58D0C2DEF0886ECF611A708CF671AA607145E7D744D9687CCEE
+1D194506B1FDC94795D88A3FC3C739450D2F5822C88AED04DCDE41B30D624454
+48AC1D5D5423CEB4DEAFE4A8BBD99CD90C3939BD94A0534A5733BFCEEE27DFB8
+BEE9F662C25B83BF9AE6020B35D0A751634E527932791916994B40334201506B
+37CAC1D841532ACA4F22B3BEF178AA6D82750CD3033D22E801AE839C7399FBD3
+0F0877232FE0969470577A73C1F7F3AC318CB3F8EC25F3B0F3301800B36F9C7C
+A4EAC2512D4F92AA0332CFABDD89DCCDA94EF7EE3777DD2BE4FA851BA8ACD411
+A22B58B6FA6E229F5724EDEC0CEBF535351C48AFBDD22949ACE0697715961DEC
+863BC3C865AB28C7853FE7C710ED7C05C751AF3121A172FF651A90662EFF2856
+51859B88A074101E4DD7260143439B0147945AAF771543742F67291EA4BD1017
+B8118B701953A5BEAD632CFA2D23B5759CBB018EC0F1C0D2257FADC5750A9FA8
+52EE6BFFD2A7C4BB1BB38B31E458E240ED584868271B33BDF15B37253AC99183
+7C63081F20F9120AC3194EA53CA44DDEBCDB7DFB240C329A2B3EAD1E3453898B
+BEAB33F09E6E4EEB354E74A96471F138F35A43830F97EE3A6AE581203A68A33E
+10AFF369BD61195D87B42E3AC77EAAD7D3C1C79931B0D5575D346AD0BCD0871E
+6EA52D0A7755D79445C73183AAD6D79909093EF897B82CB3E47C68FFAE40B2C6
+F3210E5971B9FF710839A6DBC38E355E912CE6EE52554A067158BA80B936F8C0
+E3730CF6BEB2CFB61A31591CEE951B7AE926EDA197B41F2CE678996F8582AEC0
+99874182EE0C8D9330D6216AD1149F
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -2385,796 +2457,6 @@
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
 %%EndFont 
-%%BeginFont: CMTI9
-%!PS-AdobeFont-1.1: CMTI9 1.0
-%%CreationDate: 1991 Aug 18 21:08:07
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
-/FullName (CMTI9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMTI9 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
-readonly def
-/FontBBox{-35 -250 1148 750}readonly def
-/UniqueID 5000827 def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E3948FFB3DF7BFF10C9BDA4EFE5F68A8CB1526990D1357AE6D2F7C2D2EF8496
-4E47B39E6712EB8908A3265E5FAB40567E866C244814449F1E993AAB422C3F1D
-DFA8C7118584F2E5197FD4BFA3A8AE9E953C6CD4672C0FF51E41C3A919749C1A
-F06650DF4C5E17492164BDBCDF22609A74BFA7F69960A64B9F949FFC2A807458
-8579366C4F41BDE1FDFBCC4845FA19BBB6963D65EE8532549274BAEBDFF24FA6
-03235D1BE37C06B1938AF369DA75BF38DDBC87A1FF445EAA16E1895ABE9506B9
-211955753E447865D33CEF007391D2666A046277A30A49804FFCED3FEA5EB2C3
-E52EE14A9F75241EA10C91974CDA6236EB840FD44D6DDE4D9B3266C3B99BD38B
-D835BCA8CB819C073480FB972CC028D218F6A1D344CE1B63F4FBF2C826F412E1
-6E0B05A26125865A14FD7B7030B478BB8BC6BC395335C3BA940E1C348267F4F9
-0AF97BBEE253511940F1048E175D3569F7D05A28851B6F50765FEB6C9654FEDC
-1BF52F535DB5BB90C1BD5D2EBF75E0AEBE82B20507F3C28A03746781018D4EB2
-298E4F2C27ACF73FA73EBE43F014BB575AAD516C0407B29E1653375135ECB74D
-C91372F06FA8EF37C31AF3FA48AE65318EAA6C34830A5377ABB2DFA5DA53A574
-4266FD34C25C8025FD7DD45F44301DCF03F51335198F9EE71CBD72BB906F445D
-EE6AFBA2FA06A0A045D56CDE98A6F0DE807D81F26D017B74D1C7A5AE254B7705
-7D96CFB3C342DD38DB5730ED913639C2BF3CEBFA6F3D493DCE5F8218F8BD8035
-9E6CDFB95628F7198CFA2EBDE1905F051BFC4F835C5A787E3B43EAD947EC893D
-9D1B04A9A7EE7CF3E02A58BB0867AA7C77F30CFEBCB4B3E6EC68F6B234FB6B26
-7A9D88A3CBF7A29ADC0255F05EF984B70F4589575AAAAA34AAC95B51EF60F798
-266EE3AEE3C7D9C29FCCBB1DED25CB416FEDD546C0B2F17B8277F8EBDFB759EB
-C98ADDE9CF32EB93755AABA5B5B8849A0BD23CF09A77F510B78A5AF9AE24EE00
-1C04E66B333158917B89ABACAB10189092A229B5B88F742FF334D0F149DD1FA3
-E56403C4FA9D5DFC369AD33CBBDC33CFD08EE3A1F9923B93882A17C6F1CA57CD
-5F9A4675E561C99E51754A47580185D96DDC40FE6FCD6D887BF275CEF0C95840
-B67077687AFDEFCDA136BF7A36667BB3C192D5B99BC4B6E6CAA10AD665A546AE
-8F852D4F7537EEDD9F40BFBBBCB8704E7FF93431B1D1567F43F3F76578BBA0CB
-405AAC0FA12A1822671615E54D131C732C17D874257513FC96C26DC3CC8ABE8D
-5435D01908B7357FA4C3C2723C7273E7276015BC127380088984B935400812CB
-F14A7C5215655DF2FDFF76B81FBEE3A69138ABF20821BE1E8D63899D0B726EFD
-2FD03B121142997D2D65486902030B8FDF6817DFD3E5779BC64FCDAD11D50D9D
-CEF9288E1C1A3D552E681D87BC445942391726E9A68B283F1E169BEC3C911326
-8693B2F25850E2572BF747D50C6C64E89A86E5BD8192A4091F629123B15456BD
-61BB3C785D74FCB8338354A4035B13AD5F8E6C89F9B44B476C83015FD0E3BFA5
-B68B9A94F977038FF1F7FC7E36C15C6A606B5EF5E0B3AD4717F1687195C4B3A4
-A29CB45AB2005C11F552E69057FA872B89397E32D9EC8E2979CC310304A6AEB4
-F8DF102B1AA025133C08D6EC6EAC827E544C1C7A54C7CCCFF286064670BF9C27
-BAF6BDA6E3F3AA032517F517B82F65C7B8E64D3995A693C22EA843D0CAC2A695
-D7D8236C1555E42E666B91399CE7B475D03277CAD7C72731737E4BB42C089B00
-728A276C6C0E19C7F71A076007C5397CD5448B7E95E6EB55AE89E9E68EC0FF65
-D3D3524CAD38DC3CD82F0E0DAA990079A01590045FA420201013D8528770B11B
-A0DACBF6E56E83FFE6F9DCB683ADAE65C1B9CF7340E1845A8233CCF958340F26
-1044170955D0CDF84550DB03821661E880F5F6BDE8E2E797072CD19AD01F07C9
-F6213F37C4301D85B57733E4052071D826DF846E9DCE6321A10FBDAE5DB6CD94
-A09F9429587CD56AA4FCEE785AD5DB80EB3ACDEFCDA074BF3554293876A83C6C
-150AD0F99DAB4D0CDF2BF8D1EC26B1EBDE157B6E9C21F95CE060F4BC15931CA2
-08687CF7B48B4D990031704415C9BC88023448597CF400A84BE2FEC2CC44B5CF
-D554C9A684778770DE160FCB9D3ED9183402B8D613AF99705E35A3D39F9D2A01
-36B328AA1047E89DD4C91DA4289BFACA07F07018C5652D8407D3BC853C58F288
-0B7830DC58CFFFB33C7B8AFED7435A1E54463A781256A51EA8B8644B7584C097
-DDB452A3A0F3D8B6F3CB02ECFDBEEA6A5498F49F00788EC83128EEA678D72680
-1132BB5C193E4E4F0BEFA9A49F9E3A7A6D62D58AE7B6762E11509EA6656F14AB
-A4C7C5E9B6C1830E802A2853ACD9C000993AF52BB477D166EBF0A0FEE617C6F5
-DEEE23D1C842EAFD3D1CB581EF41507FF155ED016FA483A3377EC9BE8A245BD5
-05D59CABE5713212C634CAF2A58AE773F03FD2C02692E24A525A3525F082A71E
-5CCB186381605FD97C98246CC09DAC1A5A3E5B9AEAEA913D10DD9D205DF3D1D3
-F7BCDAA555E66E8E11576724B09A620F8B33D4A85E3067DE251C6436F68B639B
-6C6F1EDF31D9791F1B2043EF5044F8F650EF3FB57E1E9D7DD0AE1C55B507C332
-5297347C64BB0DDFF423AA6282B6334C4ADEA8038DB4FC631826F9B1FBA50530
-88419C09D29BF5AED1FE9AF25D9AA264272F433A781F132045F1D783EFA52CF4
-5CCA7661887CB3C44AAB5AE6020A9A246A6D0CF9A1306AAC5A40FE899CD682CB
-8194DB4CFE55149574789CB97EEDE5E645990FD152ABB662BCDCBB9B4CFD3396
-9BDFE5EAD9FEF281F789207F18F1A04317A0941E69D60211C7B0B4A5C0C362A0
-693EEBD10595CDEE6D9417CC21706A495BD54CCE03D24FC6804F3320E806F842
-D4FAFFB332030688AA63D646D75B56DA1C98134059EE7095B2CD86F079E589E3
-97C0338AF7088484CA117F13F78875DCA175915A3A4DEE77E03C4451E434E6B8
-E499FD0DC9EDA625F10177957FF0398E3331FB2A1F9BBC67AE547C2773A25727
-CFD0DB446F99A6B40B377D6AF928383521D32C4DCF9B1F99ED2005555CABA9E9
-7249A057C2CBB3026982FF0C424286922DE75959AF09A8695206FD400C669501
-38BF8F179665200420884C03E1EED0E8A1FAECAB89C5FBED9B2B635D53BD52FE
-581FEF76195DE41E781A7233FFC201BC98BA2484CA045AD690AA057CCCE05CBD
-645676003EF72C30DEFFBBCC7E17381746D85144EACC20D05732A8DDD6F46351
-6FEB249E06FB25DA530764777F2DEE8479A5F2CCE546302432D87D9D40C3A7C2
-2D5D2333F246EC7BC30E94EC4C4F6BE152B17D4F5A409FAED0EE04AA27DE47D8
-6667C9B1A396B5781BD44E5E26C1241B060C64FEE30EFBE83497157A98B1AD84
-4CDD77E2B6333B43C2F9CC7F2D148EA5703FEA4807641151CC2874760224B961
-044DC9FEE7D76BE5A4C788B49ACEBD0A01D1F228AD363B9C0A93AAF04DC5DBA0
-64A05712958931A87DEE3E5395E5BC1BFB13789C920BA4AB7F813B3BFC53F6FC
-0A38CC11493C471C92443277F56D93809D30FA72BEFB78F2DF7AFB0965136BC0
-7FF33C28A67797E29FEAABBEEE4B6B14D81A3640C0FEDBC25386D948515CB5D0
-4F2DF6640314985518EE3A4290CA4D4B276F159A2DC8EAD4210C876B85032EEE
-4F81488778CCC76CAC911CD23036B6CC5012E06EF05ED96D507CD99B8ABE0E94
-668377EAB63518E5C5C9FF9DD6A6147F50DB07A3106FFC7A9485B5160605BFBD
-20E76FD306EFA357E09EAB8DB186A6A2172E4182B7FE0D668B43AED61EAB8133
-D0F62F4B729E977994B95035C8767C497318ACF885541D892C8871FAE43A893E
-3E09DD65A9C2241624F0762C24F143B25C5794EB58B6F26A0E70C5FEB60DBB24
-D3F2E326A98CB1878ADFE51DDDEE8AC8C18E3219C8B2DABB3A42AD6D6B39798D
-9777DA03556FA056F1619A0F826501F0FC3147D0E87309D67121D3486DF06394
-0AF7A369649D43D154E5277B97780BF8893EDCE3701C08C6109CA8480E0E0215
-E2E651DDA10353584F4F871788EBFDED92661BC909B0798559B938D8B083CD82
-EC33FDED0C449D50CC844E0F58D947611CA0F7C03AABF3B49E962F3AEA74DE78
-152E0F4CB0B908D4982C1707CBBBB3D1411351A66CC5C70D18A0EE8C7CA81A3B
-32A5DB830FEB66F3E37A1A25AE7D10BE36E474FA7BFA43976E04B28CBF2F42EF
-470846905B2B7A85BC656E1103CD4DEA742FAF747FC9DBFF18D6952A3A37EBA4
-F74C76FE738F8949B5E38B3BD982BBABD1C1F1350DBC1C5AEBAD5667380EC3D8
-3B0467859B64F1BF30A3B66E229D67F3E3EED939B363AD0E7B7184FB3E0994F1
-2CC7AFA7B5A83BBBD1D64332687F6CBB355EDAC9005CD28827A07EFFEE4E5C29
-E72100B20466662C9AB77B429586C543A838A77CF69CC54F522EC10484318544
-38F322D34E60496A61750EC97C84D9D9A00A0893976A308F665A5EEB1C3E4E04
-5AFF10FEDA609ADC6D716888435D70BCBADAC389201D207E7A6773B217B2E97C
-5FB223459AF80C0ABF8C6B9C4FBB294B10E3AB41CC8F75B0E701E7E40D283497
-508047E3469E77DE06144CD095ACE824CBFC3A1E9D2A7D6E2599F0B3E6DC88AC
-A262CD492073B7A78461E17DBF71AE7F5E400321CD15A4CA91CEDE8BC813018D
-6D8443AB2359FEF0711ACAD40CAA7C07754D2A3C99A74F463F9FCB685A6ED51D
-A715A38F961C663B175DCD2F5C66A3AC1089E833F0E018601DF3DC03AAF932FA
-D06A7497B0BFD94282DE23A99AB18DCFC648DD4A4CD0FF356E3DBCF18A2D1820
-C1B9E98D3F95FD16F2974EED5EAFD2C921F4194ED1CEB7C6B1FB9CA33F3BBAE0
-72823A345849C534D1F4324D999A8494D8DBAC0EA8A510739D5C7D7B78D11C10
-15CB951A8724EF07096F6362C24111B0E864CF97CC9E856D00D145C7199BE346
-A0B641FBD4E6B118819129979AC4F9AC9CA1822C06D3BE8E314CF7E07D86D90E
-C60077F9867C3BBC3C8575AD9FD2E1936AEAFDDDD45964C918A11EAE97FF3E9E
-CB53EF3B9140C79A45D735C074C03472C14935522EADC9928241584B0886E1A3
-95BC94B5E8B26FE3B5EC44B68E5B6CCA8122B7C8C29A8E86384CE43DD3F69790
-D164896242ECF9EC682C496A75D8007577EC29297D34FC729FF4F0EE70221C65
-FEBBFC3B2E793F6CAFE7C2CD89901265CEB98A83749B964840E70CBADD300150
-E00A3D02D0FC40504A5F5A01FB5F12A180BD6147C72F22DDB664FA19A755CBDD
-FD673161820E6A319FE63A27EC6BE317C3ED518D0BF0A12ACCAA630A896B0CBD
-E8D1876DC3FC880BB4B43D79C4244CBCA5C3175F25D95FF7462AB386E7257596
-EBD2BCE27935672C0129CFE752AC052F14ECECC486CC9FA557D4CFBB59F2D1EB
-4662A0C2089DB7DC3BCC119D01B5DCEDEDA6CD223AF22076F4E8B3BC0F7FE10B
-D825EA600682C75169E293EB7140943981BA0CC03E7787E2890915BAA72FE8B1
-DD0B73CD4444E51A2B40D3418D91A115FD9FEF52B9D0845034359AC988BE5D58
-9F988B06A57D1E17FAE738B8D3CA0C75121D470AA6DB6DB90FC29241544BEF68
-BC63C2E01A0B1358D7ABC862C29A5B7E43FE05E9735E4DA8D4DB70C1026FB84D
-9095AC2112AEFE4D8E33934577B5CE4AF2C9C6B5CB8223AC8DE444519456B96A
-449FFB02A3D184EA3B4FA98067CC81019E0A49307CF6DF45F32AF095C2CEB851
-8713ECF4953E24F74CE60A04BAF520435930DC5B84B467D3855562DC3182D702
-6ADC3B2BE875959C30CBB723A56799977847F093EDF25063045DA69877473A16
-9078057E8A9184DDA3B4B828F4D2E2C3A235C2125F465F7111624D7160E03A48
-92C8317306ED00D0BCF234416DDC10B92FFEBBCF876F428BE57C2876F7AA2772
-8B66F1B2233E4E6842737475DD47C7DDAD4F2126387F4411FB841BC86C4219AA
-79340EFCF93D82E5AC211F49341E598776943AFD1A6DC1385D997430DA4C6F69
-C58410F8DB9CBBB9D39CEEFDC03BEAB1CC9DF7CDFD34A246407F9A327B290A0B
-627488E6C23F13F93BE9584B1596ABCC57C96BFC5606119902220CBE7E363ABB
-FFFE71197C3BFD3BE299A6703D90BB2840EB6C2423CE10AA5F15E97ADD8E030C
-B158A140064AA2FC0016F1F4CC7FD674755DCB2EC76A60DC577D0AC5CBAD7106
-34DC283DA742992063F6B70ACE8DB7DB59DF2F67F4EAEAA58AA7BB617DF93305
-1AAAB4A71AC48B7C0B90F1B5BE1B6E7063924DABDD07D9ED4821B4E9F3B789F8
-12A26DFF28E0371C51D7DFE0E819EEDCB604AB1B9C4AC4194A842DA405D67C9F
-8F95CD2E47C16E39D581AC17D5CD4530DDB30B7E405318DBD195995316ED89A3
-A8D088774064A77C4527B310C53830791A5DBC7494EB4C25AD3E36C0543CB854
-4EBD6FA80DEA8BCCE84AD5988F8198F918EC447D0422745EB58EB31201E7EEB8
-4BE8B801DA33C8C8B8741467151FDF745BBDF140F9102E2ABAF4C58C5AE917C6
-1BBD951539886A9B5BFB93DCAB6BD8379AA68B1C1708FE186C4C92BF6E3D6C5D
-7EFF665EB34B4068D0E8F95770EEBD6EF735D2A3A2297F5D94A52EADB1937BB5
-3037EAEC543150BDA27BF451F7D127F054FEA3A062D58F2368FF6AC658A22A45
-9DF637908FFE02800BC6F4333800541544CFE09E48270EB034FEFA5AD494BD94
-8D48EE7E4082C64204FD57F946D43CD68B270D5D784257C2439B4CFF6D394183
-B9D734A09BBCE8ADBBC427894FD02BA27FE1EA728A97E2D468E2A6169220441D
-231E6FF4F112D453353607432738835E8C3A1265A6C71C802E076A594484543A
-6FA5E6BEAB49104C616812F8A897848969222920B1E3A39F42A3C25DC710D702
-873F82FF81C785ED49C70B2E5F57328F85EAF818588597A99C721CEDFBD80BAD
-92D0C48F0C0A1E95D195049F92307BB378D1E62E363F40410C824F745A84BC6C
-2D076550A4228BD807C7F5148148B30E000FFDC9A4023AB9BFE5D56B643F18AC
-CC69F9B1BF225AECD4DD731089D8AB26D25EB9CC943E4FBD2A651F88DF540814
-F4FB019A82C566C134492CAFBF4934F23CFA7D228EE4022F10C412AA7EF8F368
-B22A0E2D7DEEDA49ABEA5A0120DEEE09D05C073958CCCC351785618905723CB6
-CDF67C0C7F76A6442A3AEEFFD47F45D9C6FE819AB1D8DA16DF4259CFD401B008
-88135A01760A32BFFF064FF58433F07C9B4200F592DEE9FA3379280BD7223579
-A0B7A3BB31E866859BD09BAFEB760820B27625D3FAFD83D68FE80858531105DA
-D02BD6BE502DDB3F9A36963D907AC1F4A439E9901721E1011354486D1C0D864A
-1214C850885F1AF567FE84F69721649230F4118345350BA1C467EB7214A97D78
-DC7F02001E6EEB66C4B29121723533350CABFED75067831701AE0C3824CCB802
-7114831200DD4DE4E9987AB06D2DF07BEE3EA8E4DEEB064621DA3434A1C8239E
-398ECACD068ABA4FC203E68DBF6B3763D3D553F9A1B0C0F4B20C6ECB764A3AA5
-49ECC50816E83DE33EE21176261B17B7E9596405F30DC3B276723E078D38C49F
-41D9D0A71E34A31C0409982166C5BE95B67E4CD6D6FD70F4C70FC47895F25763
-655C54F34D7DA7C3CFCEAB8E46CFA4FCAEA8269B99747061E63589D64FA14351
-5DBC747252F1D265EEF8007097D61B7FD1D04E86ABC245F4A755A63C3845CF23
-A21B61CCA81FEBEDC93BBD228CFE305C077DA5BF7E748470D49CFBBBA9EFF69D
-F931E93CA1939023AD8C1F70A8018D1F1AB30D6FBB9C112FA3E0F600A9B52DF6
-64850F7EE371BC2603EBCC7071D37909D10EB378D742A911DAE383D353FEB606
-5BE5B213A1ED2641A1E529E655705CB925714A225267AF3C198CF07FE5C3A375
-4BAEB5B0D828920E5C30E956DC1EF23B07BDDD11DB232CF40B9B075697493688
-1DF4EC5FF2254F3FA8694B5FC837CE471518E9E575AE94B784ED9E1B7B446826
-FE86ED65AC46303B83FAD01A4DAD37F6F34F26157B39626B574BA38CD50E4194
-A44BD7B6EC8686317993D613A855CC9EEB57A72D3242DB07BF301D3CF80D87A6
-054DE08F43B97B6FEC3A1BF6BF5F47DE5F94C923FDE7B37C10C034C4AFEE5CE4
-3E55CC23A572EF3799693BFA7B939B1474784FDDC0FC7680431AC79F5AE725FB
-226D796F62EAD3B93149847DC9FB9AA305B2EC9A2D864E65A42611F776282ADA
-60530142CD7B549C7221BC673297152A686885FB0DCCAD13B6135ED742C793DC
-6575877DA9DF7515809C264D2D602248902081AEA512477B373D148120154073
-AAEAF3A89E9C861601C4982664734445D867F42A9112A9E047C1CCB9251E2AE9
-687634B61951F9976BCC33428D514B19F89195694BD77D1EC446BC2C7BF3AABB
-A10D55C8CB0793D1A6DF3E5A9C75F2A296B53B7E00C1E9F825D6332DAC1842FC
-33FA0F043F8EF2EEAD453A18D971E649B009C18D3539FCCEE17DCBE93DE720E7
-5A7F89F8898E00B979C1924F8F4A0FC93B5EE80161BD9C6719AB273EA856FCE8
-B4ABD8CEC864F3F9F5558EEE5E738D923C6D4316A33220E45E34273F5754C1D5
-268B62884204A607341153D5DD6AF7EDFF51DBDB0D36A031C657A6B81B1A7CF2
-09B72C5DBDA8529772155B276AEE1E99285676B1F53F1F79DDE47DAAD49EC5D9
-6A37667E3227EB0DAF8CBB20630C34277AC17C2F42869D9C11B8BC36E997B05D
-4B9EA7C642D723976E1D9A2DED515B133B5A8F4AAB3D0B4D071CC7A28B87B8C4
-E12ABBCBD42F1D90AB730DD93F5BA5ED4B467F327B8DE8ECF0533796B12EFC33
-A79908B40573403F7025E4816EEA83BCA7088BB0B7400BAA2165695551BCBB0F
-491AB2171D86A9B7094D7548D296108D0D36D7B61EC2D515CFBFDEE3CEB084CC
-B885A10C48C87EC74B7996EB81EBCA1D19BBA3DB2B52CB06C408621FC1F82379
-A99B6F6201CFA73EAB55490D9F39B40DD1399013D872B23DA14E1EBE4AB903B1
-6B16A3E08BB2BF34197B9AB741617333257A617310BF5499AB9263EDF7EC6A21
-C358C2D645F3B3737A625D211A23ACD5A907BC63E406A670B84D43FE67375A02
-3BFB87E71178BA31B867BAD8C2AD15205F2007644D63062FE9ECD5DD655E2F4D
-39F602666D5AAD6F2C4FF835784EA45326AE430E94FE27F0DF88B6E969E82EA8
-3D5089560640BE70827C5D4FBE7F303DD724910801D0E51CBC7D90EAC32CEA64
-C1D81CE238F5B395B3B56E4ABFA671263859718B623823D24CA10C1DBF3FFF24
-49FA8F2F32B323D06BB27288E755A519AB6D35149882A625084772C82291CB6C
-9AE34D30B73F8897B6EF45BBC3AC35E246FDAF40B215808131D6A5DCB67C5503
-57E51F381836ADA6B41FB62C31CFC4AB2DE8BA39A9E3B866E52298305B40BC31
-C97358AC99943E3174D60E49D21E34FB919B06DCC1F42947EA24930C471311A9
-680E2EF190F916AA00180BE239257405A05EDBE19AC282C0210FE7B5D81ACE13
-93982E13E00BA23336485FA4B2CCE13362D0C7F65CC2C99F9A82A945EB67A4D0
-0698BD2B260F7DD40D30D13A40FC475D2E3A6EDCE1EC1AF3CB2D08D1B91D5878
-67ABD580208E3EDD86F23F4EBBC21368D46DA03F8A21C8D19231279F89360AA3
-C3FF63D913C4AE9CFD9DA3922D122DEB5122F2F04C01C789A319203072F1A189
-8F33A82A58A6C0D42F106D2DEF8B69E59E7D41EE4272D6A4C221CC07BCBAD3FC
-6F889DF510A8958E1C2437155E5CAF4DB42BF86C74F3556D7E4898E3B21FFA99
-D017BFC301607ABBA62B99A1C942DEDE9DDBBBB6EB87E753548F99C4ADAFCCB6
-9FD8E8B0E77FA90883ECAE836ED2A1A9FBD8D0914F6D827F9599E6C26C315985
-4C12083DB8BF5252E36110807567989B7138DF620A102E96224775C2CC42A6BC
-18B3F8060903C47FD3BE4C0A9F188DD26977DD5CCFEE61C6733C17D033791EB3
-2DC97C64A58FF999DC9513FE8EE2C8C0216EBDE566A9AA7EF04FFC8D4F1FA975
-AFBC039F54369DF007CAA6ECD84055AAC5C534AB84E4DA34E804F3EC4D631198
-474354CACA2B3919A7E2536147549D6422B5C8FB29AE315FBD94D5A20F64FB39
-C562FEC02E0877A9CFD5D1A1EDFA73B790C035F1510C2EE179652EF35F78EEE9
-11388518E7D3D732EFBC05B029DBB996432987A2FB0696BA515CACF806AA5431
-802C9C4DE23AFE8351652C2785A557C33E62148327E0F236235C5743719657ED
-3B6B2D88361EFDCE0917D9B0AE13F77FC602FAB7CEB02FD42B2AA54F56DB0CCF
-867A1BF0788E02D3263E928CDFAD1EBEEE058657972CD0F35615B7C6747E30BB
-4A441306FD5212D52149D161AF468A9F8A530161770D7D8F26B4EBA7EC934B9E
-73652293659E8958AF34EE1AF0A8B9318EFDE5510FBC8EF4B6F368995C1B9FA1
-B133343C2877283BC02818F9F05DF97A895AD968E72EBFCCB891311C1AA4F4CE
-BA1D17C4B3D22E6C9F198952FA013F921B65853FBBABD1CA82AB0E063C040FF1
-DB4D7B590A682350E183C9A797537049A1C0171EF85A331A180E18C949AC8DA9
-715DE217488AC59D6C1F3243DD9C020C30D93400F8F1CE419F28B125C3DD912E
-50A6FB610E3411908DED6540943FBF23FA73929CD549B7DAAEF4B7C99E12F194
-2B7756531CAD917881F5F2A0846944188BBDBD17E9B793883419729847E32027
-360284F7BE71A08DD7FFF9F493A901D993E65F64DC49DD5E1F68F09DB9AA83AE
-2BF61D7EF4F207AA3EFB48AF3827FFAF4CE782128C3F38D5205ED3BD3F73563E
-45366240D027B147E85659B157FC352035D80740E8CB6AA91DE19C51C28CAB49
-E161811BE844E339EB5A0D639C550D246047D5503CF0C292B39D60342839A492
-C17A0DAA977155C77CE37A58A9E4CB23197AC74974CF09866AFD80F15A267DC2
-A9FA7B2756F051F8D1AF60BAEFDD25F4B48BA39404D9A622605D4CDC129990B2
-F35A87B007BD55D0291E6519E55C50E347932820396AEEB878C109B4D5285C67
-4F6F803550406F8E941D0AE84077DDF44E337E53FD4B7D61127465E079EC7FB6
-2E2E9E3BE964CF4DEFE4A8593BD36B033AB8A3403EFA0D242D1802CFAC4CD4D2
-19ACCC1225E688AD2384FD6770BE656942C99FBF60BFB8A8924E3828EA9ABFDC
-FE86FEE391B9E831712D774ED8BE9D04636C05BCD079FCEB576F77B0657AD548
-76375C3E41F09EF3B31273F3C0EF72323E53AAB591C496D7D0B3CE551C76CD1A
-4899F7FF90C04DB3CB7B125064EC44ED35B014CE8970F0A2DFFA3331BF11BF0B
-15A40AA1F23E3AA8B87552BAC1FF85F1D6452E8B95E191459E87D7E75999645D
-72114CDA06025257AA41FF64524EBC1C5E8CFB02839F18131E3594408770A77B
-28F1CA19E5BD54005EC680F3C482602BF57FC2C4C380B200EA39739A60EF8E33
-30581945694D0E3F79771DF0773D6E86B1F6F6F606D64A67D77707F9A46F54FC
-25DB38DBA700155DF8986B08124989E2588C5A2C14A31EB6FEDD3507F645D832
-316DDDCE4DADDF594BCA56FDDFC71B81CBCAFD73E8F0085E1A13E62B097A5F54
-B78C1CA3172D00CB0627AA94428C7EFA3D45AD1181B1F7F834004368067DC90D
-8872364A7283958DA64A65E85D207CFDBF73A9B02C0EDEBFE01EF374FADFE157
-38D65BA54D48079CECC033CAE2CB34D1080FF4D78754240F3B0014836BD7D55E
-97579A1C60FAAF2D53847343BD1F4C17FC094BC73B4BDF03336B72B453B88870
-1B24713BBB4046358EBDB731402F8B75EAFF2414F4CCFF4FD0E57D615C8F803A
-572B8CD7EDAB39439AB24F85823BD30D490C9F0874FD696B1C768D25FC5B43E3
-ADC4ADF5F96CDBCE70E7601E2BEFCBB39C377C68A09EC933F023887AF4417FFC
-C876075372E571A6924959BC2EF5ED4618B5DD3F7E270707E6AC1BA43CB2ECCC
-25D4CEBC39A2C5C9CF2E8157FE3E8CF2B7F11AFD558F84731170CB8881EE9F94
-EB4E9826FE2DAD80006D082D1D38C3337BB9F0DD49B05FB7B9CA35BC3C66952B
-73909170C4DD925C7F00C5B821B6F181EDC35F820AF8B3053CDFF7C7D3B597B3
-76562DACA7E114B34618A4232A2743E06E4978C9AC67A3C6B9F5BA295DBD6130
-6716F450768D0556EB563E36A43DB8FED069F5BF428C94DCBF92B9592842E28F
-06225172B8861F20AE450CEAEB24B1CE6CBA4B397A9C6E08BAB3B5F53C131E5A
-C71F2190233BCB0B2BB333B7E26744F539EE5D3303DF1513E93CBB3303099347
-0441F2272180B3BAAF7415C9BC2987CBF50ED7B19EDDE7380BABCC44526A8DFF
-E016B406435BBB0C70881BB845ECF44078EA168018959BBFFF43C142A7E82434
-F416A3A9161DA07C901C5B92945CDCA3E3462C192D2939267B31D0C454B8D9EC
-B425A4F111A737A5879871810D07DAF9AC1731CB9B3B7AAFF39B6E0998CA76CA
-3850987DAF090B9839B42C0D2671A0791D52A4D0503560E58B99577B0E1D3433
-FC3490215BB25A05EA682A7066CE1EC7618C03EF19124D5ACE90D77B7BC2B992
-57C5C371B78C1C146C78A20262C51E2B680F08E53A66A6E2AA1F740887954ADD
-7EA75168E84A985F8B997F16B2C3D09D4DD30874C9EE43B1AE72FDAC1071AC85
-F08489FBC23E31F4949B6DDD59388A87A915018792CA7E948937AF9B92A3CE54
-14811E5CAE60DE20E0CD61F6155CF9744783D30992C191AEB2ADE4D4AC36436C
-EDDD7AB665759E92D01897C634E93BBB9414EABA1463A4C2920DACCB2ED590CD
-CCC565BE2DF01C57332ABF01EDBF7E7924955C1F9C19EB71D5DBF17FEA991AE2
-851ECCEB3029AF636B257285AD1595C21A4B843DAE55AB453F829EF3F9B1C4EE
-871220CCBC1F19EC964A66A9F985E01A2D0C8B78C08E9EE74CC4FD7673577920
-B70D38BEEF700A93F6120D0EDBB2698B8C952855BE38588A3C064CD35B1A87DE
-653DF6170D02D32682B2D653FA2E8E95CB10173B8E47FC4C0760344A99D8CBDA
-D5E9BC5FE269EEBE1F54B9191DBC48756697C3B2E18E790A233E7264CC6167FE
-9A9F123D53EF9DBEFAFA25F1CC6A74F37BDDBF38D3534DB9ADA535A73FDC5936
-4F18117DF1C4571B144C8DD9F165B518F28CE9323FA9D3286DB0FD6C6AA10715
-8E054F1B9E053216A7C7163A29BA92069CBE5EC5F09D07E12DDE6EC3723115F6
-DF096CE2518BEEFE60DB6CB87C8BF687C61650378547DAAE31C396E53631C168
-6CDBFF0AD3FFB80881277567B68989B058696383AD3197C43D89E14A59B9ABE4
-8C4216257C31184DEA7FCF4B207B5383F2F43AECA9EFD1DD0523513D1EA99947
-12B81E617EB73F4D2FDFB4214AE62DE7FBBE05354680DFDD6A67EC73DE1735C8
-AF6506FF2DD0EBD448E69A68FDC8D4EBE719367BF028891E57D47A24E863B44C
-EC9B2E8B5B5FEABC7A6FF84DAFFAC918C34652EB46289491A16A9B1A1BAB478C
-39336D49468D2FF666C93184AE32C5A797936EBAAFD3D37DF555F809809249B8
-1E92E3808DDBB6F9AF2EF70FB7520F227E7ABE7CA2D6EE15AECEC49012D66044
-2756BF75108EFEEF6992DE86BAEBE7F25094745E12FF5C174A4A26467B426998
-D8EE46CD0189EEEDC4577D2F9153C25D5DFF6E7E448A74A5FB2BB079E4E64B2E
-9F68838344993498495AEE1B7FC72DEFA000D788F239BEFD7E5A7595F15D2D70
-B11E3DE4BD51ECC4B6AA5D7219B55404EA95B08555C22B030BCEEAA77FB7C73F
-C7943D8F16EC907560CC647410E08B00D3CAF198CEB4F488518586D3BCE6A369
-F74379CACFD6BC1862422CC7F3E2E7C4C58F83B5BD46153C9BE5CD07B0F0E56D
-A80D40EDFFCD5F0A222DC3D6BC217A82C79AA99C2EE56F756CBF80D8D5D6CD45
-4B38A78CDDC58F34E922E2F98B2B0C86E4250C0A00494648B37EA5A4D29A8AAA
-37D343050CF5DF9EC748D8809F83EA9C583118CB2181416192AF316800295FF2
-EFF0FD5FBFB746690E5505AAAB193938DC4A2C8FDB94B4284E2330415D93C1B6
-BCC32910AA6C3584115C5525F7BA9FD68E5E7D5C2052B1827DCADB22A48B0C57
-15E8FE08FDB7D9F01BAEBEAAA701D4ADE8FB3E02CFC1EEA4F76A0ABDBDD7B2EB
-EE92F45161AEAFC5027BD9CB38189C939C168AD80A2ED09E2965630208E8DF4F
-26F0313B5D6170F47E8CEB7AF079EBDD9608DCBA5BA27DACCDBCA12326FFA7CD
-F9885D56F79F1D5C6766EE3B5274AE2B43589A9AE209ADF02CD241DACDA89F71
-9E25E72A233B3B5FC0A11B0BCE99A28669B7B98CAE5E919969225D1837B62E4F
-C2E84AA38D4AEA5756E673CB64EDA19D1E5569FAD02D378C8A560F5814B910DF
-D495994892D27C2AA9CFD61AFAF121F4C8E61106FB7753A6B7E48833A1BAC3EF
-2F91BA77009B8660023024884BA7915AC57F8AE1D05590798EFE27130212F5B7
-68613E5063255A24693189225E492686C7DCE375F7A6F7EBFE4DBB2B143B2C99
-6AAD94705593D75C5D573C4C60AAE0089DD5EB76AF0DE883331F35ABED721BDD
-D64D57D74B89DB9EA7C040E380E56F78D6FCFFF474FAE59C560EDCDFBDB081CB
-CC728B8F8F6E3AC866935E5DEE1A2777D41DB749DA987F41ED8F21FF9F0C9EE3
-EE6E4B552109C5749B64E80DFA793AE8D5363109C92C215E81BD2F46D63592AE
-7DD7F966704C4F0ECCF1F33B1DDEECEE752FD7E85EDD3DA29B722C1940553AE1
-B6BFE834332E9A42146AEF51B00768F180A078940AD11CB7195E1D6129C986AA
-BC1C2E3887D0254FA5AF6732C01DC4120BC71DEE30182C0278B3497ED2BBEFD2
-10367918730245BF3E0CB9D3FF15A7EE7933F2AA310921DE928C21503B07B007
-154B87748230A7F022B897D6F65A9BBF4755D6544783BA58AB0368C94620FE14
-2A6BBC08A1D98C67F8A1939FD2F3C04B951B9DEBABB6CD56514700205C4E80BD
-2BC6676984BAB241525D10BDF1A66E8AF218DF0B3B22FDF724B16B9DA539D21E
-123D45B44E19DCFBA244566609D3C75DE067F8BA770D40EF79C2EC83398B22F9
-851049306EE57E57389ECD483D8E4F23C1A7D928038C208D4B73185C97CCF2C9
-13D057C7ECDE0DE6A00299282A633607D1047EAF5FC2FFE0FD743DE9314E588D
-22B113FB18C7ED80EEE50D3AAD81603DF034F224D42CB791CE10A8B742B32605
-F3CB2236BDFE1CE04C78ABC96A85A0C0A058E385A1F59DDEBF69EC3F026524F0
-F2E8EC19FCA69EF69D31881FE73E51AC41EB3A47D3B5E9FC6B971A22E0E61ED3
-BBE51FB8DE2518BDAC45A6C2758D6D0F20C0FF9A9AA5B36BA4C07E414CA08B60
-0EE5F3935D723C35E50303179AA5C848830AFC044F2D114196EE6B45CF3EF21A
-14345BE8341EA55A452B82E36337D5CA4D4A35ACFFF728F83B1BBB81C1EE1125
-914FD842D0C85D8B4D25510565877901BCE9A0D194645D2A4D218A552D55DA8C
-9A7946F1EF340E1F166F74E7F8E5E7B6E2D361A6CB4D5CD3966AD88B2BA666B5
-D5E832F486F1305958B8F842B5EA644A2E2CB071C33C6C8339024495F1C38F84
-463E56A3BA3E1EB606F56C677699B80F0BA57D0F1EFF3EDA87F9D7FDE83C91D4
-A33CE5CDC43364430CA330CB48C2DBD666C60B0385D200F20CF75E34F02B2CC6
-B41B89A587C1D4391E2B2BE7B9E13350E2FF07D3820A90004323C29BC417EB94
-AC12EB1A5BE85B6C39E7E8272E6181308E72FD7E41E33D5EAF2CCD59D2A2FFE9
-6036CB218F257440B517E49E0C2235756EDC5324CA4880F81C441DBDA7AB9B4A
-8E2983834B6A697C174ACE33BCD2BAFC7EDA6C559EC64411115910FA3FA8BF23
-123AE7A372CA6F2DB3B351D8DB52C5DDE60EC873AB6D7318924FD0B5D7B0C7A5
-7A2D225B44A77DCE1EC686698BA2A9CDFA4B03D0D73FA7F611ED07618901A493
-9BDF6DE163D739785C6DA052D3B45434FD42405A52860EA68B93207C092B45B7
-3429AC8729BD92F84F493411EB4BB963041C1E272D697EC5515B6CF84E7D4794
-608755CA98E84C0E678A25FBFDFC9FAA21FCFD3437724E1C861A7295BE7AD6F3
-A48483F014FD31A2DBD29A70D68B097B35CBF902F31221BB291AB5216CA0CD34
-3359A42AA0B97A12348E9C3F5C80ED7EB2C8B53426DB7279F4F81F2DF1033517
-0307DF4A9F7C92C4FFAEE3AA8B48B8AF1FB21851169A88A8D64686848040CEA0
-ADC5C1E02D65CF5630281E13FBE6D3FFE4C1695EF7374E5A4C4613C2C47EA09A
-978758E03208489C7F1911EFB2E8D8207A1D73F5F31A64A25DB607350DF813AF
-74C030206ABB2967FF064B6898917A16AB7405D2081E1F2F7D5582D084E30BA1
-376D6D737BCB3EF9A02E42D657CF34F3FEA4E8CC7A1EC47A62890F01CA6AF2C8
-7B154DC8854C530BED8D668DBBDC399F98F68E7C35AE329D3061F576DF724FBB
-38B417DEA09BDE7B7B4332E9CA1D325B04420A279075037B982809742AA3465A
-3836024E501E746DD629973C1E90F11B4449C8616418958B44E53B46BC4D299C
-70D1136A77287D1A00EF22E663BB26C4F63F4EDEE61F1DBF62AC930E04825297
-88410200E28477EC66444BD097B446C678E48A14F142D3D763EA579B8F985B7D
-A081D8E36FD24651298097E7F0F21741D7DC0DC8F426619C132C56E77B86659C
-C39551992EF76230262ABE6616B0E4746DE46EE4BD493222AAC8A31BCCA0823E
-8498CE6F24D338F4ED166BAE1639BB6D1CE9F5AD7B848E9F49B731D1F22FADE1
-93241CBBAA332958639F38E1F470BA9C9C5574EB1B493D83FFC78B9239E3ABF8
-079B77380F47DDF544A812B12B4B83B3127C7DF65CAB1F45B238F2D4CA763296
-9CCCDC58581CBE6A29112911E54C8025B8C5A3224F004FD60ED26BFDA54F52C8
-6FED0043183E72D1FE6230B78CF92AF299D70C27078AA8713D4C418B66811FB9
-4715AF46BD11407EA6EC01B24DACF23BAF99B8190BA9A86E43B78A9B528C117A
-5C6CB343BFAEC172BAF91AF442ECEA40E58BE13A5A216C016DCBA6D69EC1FB4A
-C0BD457E6664D9F612020109B0950196BB9424A4CAD0720350FF63C69FE5730E
-C33616D07B9B7418A37500726C5F675DA9CE83D91BA8CD1CF9B4EB8A6AF20A1F
-71AFA4759A6460479A207BEF38EC839883CDF6C873E74EAE3AC1AB8660C1C7CB
-178F29BFFB6977C731DF8799C4B6BF9D096B03A3CA8DA080B6815F74131F0F1C
-54567E97BC70624A6BF98E12A537D73E98353BF729CF68329CFDCE8784A0B917
-9DC0678F27590247AA341E6D420852738E0B3B86EA3B2853AE91BE35D5EBCF5B
-9EB2793114FB41BBB0F09D9FCE52B5D3403E3B413565D257931572A445C7A857
-0E41CC8074C54FF209ED6E0F3EFD849729704DAA679153CD03E1CB64ECFED971
-FC3FDECCF39C320C3FEA0355A115A7D8C20910D9E9586372B0C990BA576C319D
-8766025246A64C653FA20E36F413C20EA077878D8E38F24CB698345CBCA5063D
-B72DECC798FB3F5C3C74E735BCB6DF5169D99CEBE00C2604ADC41B157C7BE677
-A4B615F6D622B589E3B0ACB4F784FA55E989DFC3CE7EBA6C2471FA68A3C19C5F
-01E1BB4E4F270AB69CA969508CB6371738E56A6F719D02FC6852A714DFCCA4F7
-234E80D82D16047088B56AD72F84A69CC0DFE0B66F3F4D70C32C2B4EFE803795
-B4EC39DA3428099CEC3B60832F5947E938C2FAEA925DBE92547D58D23C8C4FDB
-E21C700D5EC6B442F641338DA6221D7C66B54D431C6B8B4585ACDAEE25366DE0
-FD90D70444D824F581F0375F4D703A0E75E27C2A3AF714CF0BE119E8E4052D1D
-FB6AFDBC63928FE306B97A92748072304AD9E7C9315E8D4F0AD94F6AE2A09CCA
-6AC8FB4AE43BA20AC4DDD15C66C652C33EFC77AE59D0C58051C7DE1C6750B816
-CDE94465A4D93118893196842E84701BC9E7E0F811CACB8EC69D5475F46A233A
-62EA0D42DDBE244865DD7B4431DA6877E6A8F2CDB4D824E9C0203A40FEC72EF3
-B2C241EFB3DA5C3DEBF279448187CE755845861354060229D97DA56716716277
-3A3B79F3802CABF4B058A539A3A305A157E1659B7CA0197E81A5EABF56ED3F8E
-0CF93323FBDB8F407F4BAD0C74A0E9496EF4F6435483C05CFCF9CCE11AEC283C
-ACEF3FFB21B5DF905302EA42FC90A47FDB5D70173C04CD5CC0E6635469B659CE
-CDCF3BE2ACAC281BF16A9CC02CE97C5A135FE78FCD9F265403B8F3D7F5E38D12
-C349531C4C2E0AA1DA7A19465A135B21330667B9A043ED9131FEF172E8552EC5
-6631C69E8D5510C84FB086C0AD769F6668FB02CFCB6EA31A8769B8331A194A85
-B52562DB12380FBEA4413F89CA63701055C3AE7949DD6B56A0CE9B094885806F
-9B7F3B6C2879FBA9DFCD3BC8A88CC1E20BD8CDE9393C8A895337D6E27E2A5A6B
-72ECE2707E698EAB61B41B60936B99330A4246B4AC430222B988AA67849E590D
-32ED85138078C77BF48611601BEC254063457C7F10E701A824EC96763C698C79
-09D058BA6AF3AD769D95C9CC6DD1B8DB00E55370AA8D4143A1246B8C972AEE6D
-23DD9A2878F6B6160214A020C7A4D19D8A5BC2B77D8D72B9DF64FD941B2C605E
-41E70BC037FC51883293FCE32D4ED209159DA1B4ADBC5490C168EE40C0B54223
-C7B85942CF09CB46E482472DEDF4FC708EF232D4B3867014A9BDD833FC9D92F9
-6635449F157B2E8294DEB2C1B592709EE8317DDD9BA89357CC3751E7AF423E4C
-74A3466C359FB0A5828933A626C983A365236025098C79D4EC849ACBF6C0B859
-F1813E23E15265271E1CB291C335D0DDC158F8DB146DDD365B09AD60E2332DDE
-A2795C43AF1AEE7C1081A7D1FA98666EACEEAD000A3865AB7C6797B1D5A4FCB3
-B2FD10D03E60E1F0C35EDDD7A05855282E7998A3877DA3DCB35CBE4F6884789E
-41447CD7BDDE598518C7D29B3F5E38E0074955DC55D98079ACA908EAB37A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont 
-%%BeginFont: CMBX10
-%!PS-AdobeFont-1.1: CMBX10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:06
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
-/FullName (CMBX10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
-readonly def
-/FontBBox{-301 -250 1164 946}readonly def
-/UniqueID 5000768 def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
-7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
-77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
-2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
-FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
-DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
-7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
-9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
-CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
-6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
-E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
-8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
-3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
-EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
-0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
-4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF
-1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910
-757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E
-0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665
-6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED
-E067598E1B8B78188FA4BCFB0B51692D07B0BEBB930C6F0997B437E2C51B876B
-61A563A2673932C2045833FAA35DB22ADE12102335D36BEEC9D5B0E0CC51613F
-0561B0B802BB1E1111E959C7745653516A296E671784C8F9E06B892846BA33E3
-8AAE46D5DD487E56A90079CA7DA18D25F3681DD0131C46E14DCDF512FC14D9AC
-7341D5046C96E98C17C37FF5841CD42609A279E8E3D4698F925E037E82E12B02
-1B0B763596B1655E53AB42EBE4B24C3F2AD371F10BA0F922AE573BBB163DD66E
-89F2C4E2B1A15300BB08D9818E77F0AB16910AA98FFE60E4A8C7048962318896
-14FC51AC3AF1497ED9F43B8DA7FA23DE5DD815FBF20E1D9DE2223F4CBCDD0068
-884D90CF371C1A2709F44B556CDB7CB1A77C52F20DFD64D7F70A328B8C3D6107
-1868A4CE3AA3077101B3A36C552BA0F270EAE2638FF076060C4F37550A944C8B
-95B4EC1B9A7380E3A66208382AA3BA671B1E88E9AD54CC91B60FDA9109D30B51
-21D35D4755521650099378AECF718D9C52E3CFF47410574094AD902E89688D20
-129A629713E087DF8DD4B02241AB3B1541899171BC12C8AD659ACD0120F4830E
-FED86917C5CEFF9ADFD18C0FE8D4D6EC398CC60728D7C950215F7843FD99CB48
-4614FFAF54066F94B31AA0863E9934CE7C2EA2FB1CE63889E1526A93C1BCBF9F
-25BB7EC9D9675B2F7E4F671B5A17BF82CC947D20F662D0B48B056643CFE19206
-513A9FAD9A9EFFBE5E67FECDC681A6CEDCECFD566DD63D83EA001C76B681675F
-5E4400D758C423D376E2C160558324E097D62EC96E3A6CE9F402ED6B4B7ED5A5
-D8B764216BC9181802C0C0857483036192B3123723667CCBA5FD9457ED7EBEB5
-F93210ABB0BB624ADB3AC453F31C68317DBDA92F6F61640C711AA6C3AD5C2468
-B3257271C0FEFF3726CE5FEB881D996024C4E030BCCDAE670E9E6759C193D44C
-E02070CB55DE012322BF86A8D12C297099974D431D391601E2048AC31ED452AB
-98B4843FD5DD4244726E81B17F00D205E02A0EBAE822C323CE6872B45D735B8B
-8C334C58991EA7E57C686C4C2B16C21F0F952E0666AF999C90CF95FEDFB9752E
-BDD05251E26D027F423144945E786853C9BBF2A194F3440F5D87935F9E83CE14
-30E3E37A287ACA2BC2708A9BD95BC5E912B2F2A621A109633D9702DEED9C9EC6
-D1597C5E676D2D16E9493A2F844111216CECAE91F6C10C8A043E6C91020CCA5B
-FC71BDD1F773898882F63256D5372F6AA8E337D2E5EA68A14967970D215C8530
-4ACF0F6251627590154C61E3C44CC224376327709BAC1ED4DCAA4A65894CE3D5
-59CA000BF23A3BB89DDBC63F9DC14A3EA95A9F818679DC7E902C68F8CAE9E037
-28922060B8315E2E1C6335F9768DB4D55E3A90A7179AF65322691E027C5C1CC9
-0A887B19F9F316A935049BFADF5A85B454F4F1355F2B3CF94EA94BFA669E3838
-989D65D90AA1DA57DDA0F9ED33760E52C720C1214CCFC9B42C2184A045718DAD
-D506AE98E1D88CD4A69FC873831350B8DDDBA6B9E8EB51C53056C2DFB799D835
-7C68591875202613C59ED8B3F7EF5B1110074569B4215256CF805AD524585F57
-A04027FB3F47D63DAB57B0BEC59AD2DB0F8C6FF6FA866A12EBBB787CEC01D9D0
-37F75FA34E1BAA27183AF85C13DCC2617E7B6FF5A5A0C578162E7818097C7906
-43468790ABF883898728D3C6670A29A16D1BBFE4ABFD88BB3714C81975ED8C16
-EBE26F230C89EE345185FDA39726ECBF48AB4FC966A7A04A9F886D077E93AD54
-7927BD8F581C95550B4076F0F024EDA854BB1AD128B6991DDAB98F0C7061739F
-F5B0E2DB726CB1014C8FD93B2EC56539712649E6DBC75A1045ACE60AA4027DC2
-9D17F5E56AE4A59F5F18001E7133F539CA09EBBF8EC968D20A3ADA7741F89050
-7FA457857B8AC622A5248756F172011E601626A30895615C6025B760421603B8
-D2E70D6F385AA2D036829B29743AD33FE56FC0EBB35ACE5F786944DCC95F540B
-8C0D1E200F6777FDC0A90E78AB55FE18798393BB9F51545D31B5BF00300AAFF6
-5B59E551C8C69BFE0BCF6EB6A8CFA3C81783F9A26A3F87D8CE4406BC72770BAC
-01951A60196C91F5D614571F46CA969E03A06FB76B69274CCA6DB36649EDFD51
-A91A12AFFEB478E8CC1853E04A97251A46F82107FF53EE8DE220A62F3CB78366
-9A9786935BFF1B6F68E3B14C2380B48FC26B0E043783161702A449C1BD19932D
-47645477DC84A31317F09C9D58BB49C5E1A597B5B2661493348D5BA1E4329A5A
-A151998D9EA4419B4E1BDCFA55F2D95806BB802141A13F806CEB93CCD8F0685F
-69170569F1B7C2EAE90F2F610DA86304CD85B9AE5A110FE235EC0F531F8A8DF0
-71FD32C11FA5574BDEF4BC4EE5DF944F7408638E1ECB63763AD385C7140A29A9
-4CE1FFA2AFED0C2D0ACEE8BE8E68DA657E4AB533F8DC919538935FDF283A94CD
-A3FF2A71A143731294F1FFCE545FB15612120A193F182829C15100E545A927F9
-03ECB17FD4DC9745EAE806A832B48D75EA017A1196CE4975B1310080CDEB6F2D
-88D60599FE50FA30AAA85CBF8A77027953F4E931F7F101CEEF8C888361262B22
-9A796EADC9B393F10BE9F835460364BD59E318FA82CC14AF605F5F0C841A2F67
-829E351B14FB4F57B9F4A1EC8B5C201233EA9D90F4007E75A2622626144B00C6
-BC01DA4D64272BFCEC70B5B65CAD61535CEEEEDA1F9290470A9027B2295DB46B
-D840CEEE3B1A68B1CF3BD4765ED003F0C47EF037CD797602EA4FACE9963FC590
-3D17CCBED7AF3730A094AE4D85081525D483D1BAF4F01B6A92904EACC56BD384
-1BE8369FB7105203B974B08A8A33782B0AB6E67088DB0C5914B81AFE779F7727
-95EA367518F169F2CCEE12F8871C05CC5C5F200A8335BA967B5B5CBBBF38815E
-A1F6C5E713B95EB4F8327D2193EF117D8673456F8B7230DCEFEBA494595C9EBE
-D3A0E237809F969B489D85ACDEA6A99EBA0E5BB9C79C1C85597223D45D710980
-6DF2ABE4C0137817DFE71838E23F4AAA65C613291ADF1A13DE22A214E079ABF6
-4C9CA80A3C0E4749FF0B7F325DA7E212CE9D9BD68B21C39F2DD12D394171627E
-BDF2A28A8309D0A5B8F35605176BF60B646265F21108935CA1F8B4F3A6618220
-9DAF021272FC7311EBC47EE352F884F4CC4ABF0724E4ABF697D0494A416563A4
-F8F89CBD9B8BA3A268B08654172D14A4ECB2A91E286A3F1CB0C356C402275119
-CDC5079F9849E3D7DCA25D55365241B8D721F1559DDEA9741F80FA7489BCF520
-386ADBD8ADB2DB6EEB33CA0FDD9A066269ED6A0D48168BA6750154993DCB9145
-AC9E6104B9644505ACAA29F15050C1ACCA53E543F2620298CE252A8AA4D5A02C
-6F18F62C7FD48BD336FBBE42310812D712C6913880463DC0E7E6ED1B72705AAA
-7B531CEE4B782F220CEBE9DC90F91295D3C0EF7EB6D891B256F4B45F22604D5F
-CE6646826C5B3B56A6AB9FC0641946ED5ED61094679C829B9FB4E83F1ACC3CC9
-4075E13165B247ED18F6EC4BDBBB58757B0452DE5702ECBEB0715A41CB109022
-9F9B10C5FFDFBCF391D5AC309AA6361EA199D35BE968A872EF7E2555173E5342
-022498AB5AEAB181AA8B090C389060D8B09A6CC07F8410237800CA4B76BF7443
-2EB77D90C4BDEE39FAB40CBF6F973D1CF103EFBA9584A3E6C1610D3387C6106F
-A9B7C398629CD189D882EB07A3BC046502C82CE80BAEA5D98FEBDD85137682E2
-49F1F25FAD223D458C00B5A2049A508A6393112364078A75D031D7A753E56AA0
-74B35F538DC57776DC88B7F540FB7CF9231D71B80B7A0587CB91B6785BD176E5
-3F4117C7B0EB443A04A80EEAB10B93440AA69FA7182A55A9B76CD111E6E8E64C
-3E9A9EE21E82714688427E621E6F980B94A836DE248C052AC6D30D418E6CB785
-C19E5D97C2B0681FDC97ACD120423BADA07433B93BBC9662352610825B69B97E
-596A08BB190B50790398C9209891C418CC3AE3C5066158B852C5AA0E2136D282
-23200BF70C14135B6F0962FD732655930990E2B7647834EC1646C4B6DE12827A
-D70F4AF310174F6AD11DBE2D32D4C9D655E65AEEB06A1014357FBC8AFE6FA5D4
-886A8BA7FD6BE6C76EC41FB68FDC99919D70BCF19E5A39722D00CEDF231DC63A
-399CE887473CB2AF1F446C1DA837D177D73CFCCE7FC13451DF735835F7E5546D
-6B6D318830C707F22CFD84F3C6F55D68AF33F75A9A4F2CD2603E9216E30B2949
-1C2E01BAD8F944EB94506A0FCC5539B800A104797B55D65AAFCB4EE443EC21A6
-F91630F483D1E59B436B6BD82D453BABA1097230FB204DE5F903BCDFF63C02B4
-5DF9FA790129A565A3ECC1CDD17846EB9361ADBC69CB2BD6701E1E30C13EEA4D
-01C51337013EDC6B154AA64913DAE7212EFC0C5D226F9F85908B919EBA27231F
-863683819ADCC9EEB4F92DD707B48668337B0053652227DFE1957B4095B35A8F
-B7853FF6EDD9185CB64BC38798B4538566416C308CEFE19C98BAF00795D393F4
-A947C1737A8BDCCC3BC0ED9E2D444DE263116CA5D123F966180A9AA7AFDD9AFC
-46D0D02FC6A1E2D78BFDB1BA45939DCAC4E5FBE7813007C3365D25DF2E1F0477
-6A717DF3899A2242D9D15B5140F19C4CDB1F9C7EC58BCB455126D6CE58C78371
-5FFC16C48C6F935573BF1FA63C4FD9F8620CFE3BC7E70167A4F0725D1879F7A3
-14B89AA468C14F40AABE020A1DB2C38F09864D2E852A7EDCD637EEFF920A428D
-DC73392D3E6BA3DEAA8AB3F0BD6635AA1254AF53A588A81A6960489DCB2876C1
-1ED94458540133CF16CA8CBAECFC9FB929DEB721E4A7CF806168C9EA0C523D35
-159D4DD8BC39BC416758399A5E324039572F57B4B188B511B579612BE8068E3A
-E7374A6D42F191F2229787363799FD510015C0E013F6F0961C5E656A5D03F5D2
-2D28C978A5811BC82E49BA6A57A7390EBCC2EAF2452C7D46A82A478DE1B968AF
-3082D7A44540EFC555B6DC97D5EFF5769E46381DF8B225830F02AB30993E4CC7
-145C04AE2E8E7148A50AA08DB10DA8663CF4A7840C817EC5E9F8E1DDABA25DE8
-24128B83B71B480FEE06FB5F7D360E4ED6C4D772B7B080025BF9FB7CFBFDF2C1
-ECA2066BC16935646500BB97FA42D89A740187D95EC70811DB76DB82E9D5F8FF
-0E140AC413F07F2EEB49E1A8912FFE8AF50F18FD1C9BDC2EB84078CF54E92679
-B7BCBDCEBD8C914B4AC30F86F12492B8249CE4612ACA6076926AC3C789E2B579
-1E9F9132107DC87927FDE981D3128F1182AB329DE82A6BC4DFF2248A410A6263
-803A05F0FBAD1EA14DD99996D7CB9964B81B7B504AFEBDEEDBF2B504B474AB0B
-0871CAD376BDB0533D5DF7D40D2F2DF78B40CC6033BAC676B09FEBDE354197AF
-DDA7D3240A5D9544C402419C4609C6FEB1FA67DE68D835833B5BDE62814D8BD7
-AB8D76E5D3795B2CE4D86EB72655CE6EF4113E9F6FFBE13024BA6DA1292E47C3
-2E1FD246404A219C82EDDF2D64BDEF288526E5F0A07090F501BAE98C6F089FD1
-92D921A3222A376CAA1F92A7FD413EA6CE563013F68E8B34F69ED445E23254A5
-057F2455475B0A92646CF874249DB46F0D2D0001C729782B4D01C23D3F4CA097
-891205EB2E44BA08E1223A5B905746B3AEFA20D16DC49D3A2A973546B32FB6BC
-FF708A554B94D0D012A82BC0D621B042CF22AA77B5B80691BB17CEB14B34CA7B
-1F2A9D5A08740912C0FDDFF9B676D78B44D6A75AF5BCBFA0FEB60636FA82F634
-B843E8C7D53A088500CC2F79B533DC45935E46116BC0B81A0A4DB12DFF2CBB33
-879E1BB94CE7F36E122F527ADE2A2BD23434A94992B181A9256CD43C39518BC2
-BD7246230F81A788F101ABE9D68A635B5ED081220D950FEF8340939D95F7596F
-67F2263C73A5B5A94F6CA4925ED40F8E7E583E2E4B3F21DC4898CD7E5CEDFB0E
-65E9181B02473EEE5B0FB777077E9A5D8A58D6D314B535B7CF69C050337D813E
-EB713428EF426BD35DC7E25392E1B13D49E92CF4DE13F2F686CCE8E45F14C2CC
-0DD469B542DC16A4D63A3E8917BAF74A6B17B0524CD637F26DE89847FB03261E
-E157A477AEFFD4C5EAA63BF613E04993E5E06582B3E0A2877AE5AF3F556B0AFE
-CA3C667A6F70C7C441FE3B3D867E79FC6485A2298267485CA6744149175A2A62
-B30619CFF3CFA2C0C9F575784D34175E46D80351E0B282082F5A8876E9908D87
-62CC9FCAF336C10A8557673C541941EB2D4013ED21A5E0D70E2A6942DE94FD42
-C66AC928EECDDBEB1C8E1C3DBC87CC204547F80414F61F69144A00DD2D7BE195
-BCD3CBD2B7FC4735259237EB0B243E422C14F1666E4FD67B949A5F18DA24ECEE
-157A464B01CAFF4D8149FFFDDCFFA7D4748BED7DC16AC1E950D5D7EDA79D3C5B
-28AAB577618A48E7B367E9DD1F2F33CE107BAAE00CDF0D12A8DA557E8E267DB4
-4A642ADE6558403E2CE13568EF250C018FFD0937DF9DA6516398F48B471D5C7E
-521868517B34E81F16D2F992CB4BC9983DF9AA670C9DFC4C0F2DA3FC0A6BB8FE
-F992C0780512F82083C1BF4CF601F6D0E492C5D8E402BCDFA24DAD4D1AF902FB
-8AC667BF765BA02F036C7633EF495AF0E35C12DE7B9E031478337AD6F65027AF
-2F1F0C115818BE7E8CD3487621B74C77231BBDD873D6CA01B2612BCFEA59B005
-A5CD74209CFEEBA697C6400702CAF067DB65A6BF1D38370E341F52A9ACDA87D5
-CF1EE3BF78F0C555241D43584F6ED92C2B27D5023E68432BBFE7E972F2404401
-6CEDFBAA150AE84B5CE12D936B0E3048DA950DA9886880B797116B8D041CD97E
-A33B28CF39E977DCD5B060657636672D2F684ACCDCAFE5A443C1B324871C62E5
-B0A647C0E96B5E95396E2B2AD6E914A0873A0CAE556BBA906FF2961E0BA4040B
-20845D6D977BE110724F36624C07B0B3EFD919CFE569C471402256CF9DBD65B1
-A1858B8108794157F11906C58EFB5E0FA55083881410C8011FACBAFF851257DB
-856CD6EAB49DE8E672632A321FB2CFE294485524B34E6AC000F80A285B3F6DEC
-CCB59B0AAE1272E69DCA044BF49D997D38E2E159F03C253700F030C764781385
-8C4C1AEF067019D50FC8683A15BFC0B5C6B47CF49AEE7336F6B9FCD13EE2CFDE
-38EFAD7CA071432356655738FEF3F09FB21332B1E712D80884DC03C7E6429E71
-DBFCABE411112F5E45CAA9C7E06597E8FA793134E86230F8F6BFE876FFFCDA90
-11D86E28AABD34DBD3A90B343A8220E8340DC76EB96DAE856DE464DBA9F06516
-65E3441B8159FB1F25E6E0186C5FB35EA58761632B766742C6224234E05B3D4C
-B8F0F84EA4766EC708CB75D6AFAC41E64E1F0C76BB8C0FE4A5D2C6E8153B2AC5
-AF8170E82AE8E2390334AB8DFEC1A9A8A677233D96B341349711839187467959
-82F4B0442C4C39753EF6AF7A27239A665BAED85439518E98D9578500CDB3134B
-2BE5638F86C8118169B9CB8B301C33BC62C1DB167424401DDFEA15A70B11AE49
-DD9FC3677BB55C894F689DCAAC7EC66B4983C66510B9AB0FC30FBC0124A389EE
-4EE79A41938DD47B73A9862F92E804BCBE32590BEB487458B2DEDD83E9BF24E1
-3458AEDCBF202718B886C1D61CB8E034E7FA95D19925D4B3B63969D4F3E11923
-83747C4338DAFBC389DB7A5C52BDC25AE34C240B58F2D2678AFE5C6052A0E0AD
-51ADFC4B15492AD9060DAEB24DDD8B73315A17DE4F03CC17B95014E74683A375
-D4864CD3EAE5F2AB3BDB2BF7B0A2A7DB07ADC88AE63B528AA5286ECCA8A8E567
-CCA540251DB6A23F814DA79071956425B58A58745073A588604178B2DD1DF9EA
-0A6B97E8941CC96D515491532E2DD56496BA17931C1A3B0F11527029A940BD77
-2DD1580F6F82096FB766AAB27B0DAAA4395FC2DE3CD753A1341DF09CECDC7E35
-FD93E4C6CED141CA0D0EECD4082183D53A30FFA098E0A365890091CF00A54936
-495377E86A36BD3E5BF2E176B0208AE61732BF6E03ECBA8489B90D45458C6C17
-08340758605E9FCAFE7CC748512A78E47B36F20C79BA6EF572C4A2E4467731AB
-8340F338966807E9619E6D2130F050DE3F132CC4DBC57AF4A297ED553A11CC66
-0B85ACBFF40FE6363EC3F9F647544D9BC0BBD2EA890F48424F2F0C44C68BEC74
-24B19B6F198E192E7A381217DDC8642A5FDC2063986D2173E2D169FB130C6DCC
-521E23A7DB4CA08775987D2F58F748A03A43BBB4CF345B89171EEE0B7218635C
-CBE5EDDE42C532FB2A0CC6B4FC65F5B436AE690274AC97E8C1C3E82A64BFBCAA
-299ACD3E4F62ED6ACBCB7210810787241279FB90AE6E3E3B894993CE82736DC4
-2B4E10C97E1D557EBE25ABCAFCDB5C990D880321DB014431A52F36FEFA77970C
-3308074B679597943D1073CD1CB4138315CB0A74A014926DA36A888A1EFFEDA4
-999E5B25B1A5FE63CB5B1F55324876C6E7450C1713AFEDA559D4ED155A7FA909
-BF6F6B30270C93B23559B7EDD07FD7792031C536FF74E2FA32433FC2BDF74127
-62323A82F35EF707D37423B911F37E948F2174DF4D3FE1F8B787B9E896635F0A
-58595E77DE1B1D91520E8FFEA4F10488E50A840065BA633D155AAA746CF5FD23
-50D6754AE123A4B2AC4246CC1CF35EF0F82D9D46E18C33D9A6AA1E9E7FE1A74E
-A5FF30F870D916B47F9778AA7AB02EC4CB1AFE370466B8B718490AD0AF532617
-AE64A363A617E7E47BF48FAF88A5B1D9298ABA81926155DFE273746A52F3494D
-CD41A286A50E6AC254D2A6433DDFD9684916C8B25DECFB5A7D4B94D685DA425D
-C06136E9828E058F1C713B2D24A3710CE2233A20A9CB8EED0D3FC4C579D56033
-99A366A840282D9154ACA10707D8841DD4F5AF4990A26276DC085B8EC91A02EC
-F11A14AD8D700323AA2C8899B48554CC9E6F5AE0BDF2ABD466D6C53123AC706E
-53A96C7EF316773D87501FFB78BBF203A608051E6ABBCDD22E18B63DEFDBC5DF
-AF8241366BA0E01D7BBDFE684A9C9457942A0CE0C87EAA3788BD1092D1A9CEED
-1C03A4DF4D2925E28F002A5E7E4981867E449F5729087BA7E94C3BE0BCFFF147
-BDA227CC6FE66C28A02CFA09167F89BFF514684CB5CAE0EA6BB45C93532CD279
-E86DBBAB031DBEDC63E843EDCD2D16257865054FC97CD8F57B6792A5EEB5149C
-3AEF8D7F3D54B85401E588363F02583D1FCB81CFC8B45757AE9F78F3EAAD0EF2
-C5B73A50270AA183C1F5FBC27E0C1143DF39E972E7F7FC2C66517484317A9CCA
-1A39C7AC070094DAD681F2DCC3DDE8E5E0686D476F2B6640D6C10987F1F6EB34
-CC877FAA1F9AB3A6637D5C4D284615786A1094D06C931AEF485300872BF65533
-1BDDC21E560559550C96043FE3BFD9ABAC8B01F2CE08F55770113303BA2233AE
-A81CA5B4A4442D1B9DD01F0BEE7FA42F0FCD748C184AE8E0F6D228A5B3E6A667
-670BCFE3C7437E14C5A6B5B63CFDE1B26448998C011C47A3C59E53A5034B72AE
-63B265FC370F0C758366C356268E0B734B9370D4ACA7EA711E8B4B994055A6A6
-29CC62C34BDF0FD35AA78E667DE05646BB36BD57854C49BD69BFECEC5A7FD9EF
-05D0F7AD8619661E5D35C7071A690708C321171DA120E8495F5E8F36C13938E8
-BC63CA5144354AD6049DA467008514F69D470DA497C825CD0FC8B246C78EE747
-4B8602523D898F6FA637F8AA3DB3D8D2E27E7D06672075DA8135B90E976986EE
-F242A5490DCB536686C00FA826C027140F7F5D473B00DFA9761CE4D18E1879F2
-4BBD6A475FA560F5EC85240CE0D76299B9A40B03C51F21916DFFECEDE4567D41
-E188B89B310B1E33A6EA1D095F630074488F59A3BCC5450F39F655530E1A5B07
-39EA0FB3019245889E7BA9817F41EEBA22DC9B3095139981BD71BB874EBC01D0
-D52D1103EC5262A1FD6D2505E218CE130B0031A8FE0EA498309BB0474FA5A528
-DB00DA7BC41D90F2A66EB5668B00BA789AE15728A4D813F5F85182F6D16B2409
-197B40078371F9E6A6D3A4C771994FC4DF2503C7948B4E97DD0478E342152A2F
-5A91B2B72D04B6B05DF7B7F697A3127CB63988BB0ABC3827E2244021BC0F4405
-BB3DA3C12A471CB31F8151A66ED53C6AE4274B2D9A3C1CF88F8A0AB86B1BD3B6
-55CF316DD2EFD3EB36638DDAE9851C52ADDD8DEAA877CDD790A03042CC968099
-2AF7E1F0946B9FCE82FCB8C0D98FBAA25BB494E6F962069A6044BA933DEF10C0
-79F95FD66D129F7C2ACD578A490061BEB3CD4B1100ACDD96EE10A53C8DB1BCC2
-5DBB7AD4799DB01B0265B23C981FC9165F2FBE8C801E9A07F9040F6D6F58E098
-793A9C84E0B941F35BB74C82B6DF2E5D9702E898543876946449387738C67580
-B8D8CB8495AF951F84CD56982E8E2C55A2FC338E495C00F91785D118599D64AC
-488D7DBDB9E407517FFD3BDDCC075F7A641CABF8368CA6BFB788E00B4CFF0183
-6793F04601E214849C7AF34D2FDDB256671929B2BF0EE8B0E46383228BC3B87D
-AB15530FCC2121E9F891F74858457E789734D12F0909E1D21F5C3044CDB3F6ED
-1CA155D5765E2070DAB10DDEEAD9AAACF766A75582C1C20B9AD5ADFCF2D1E0B7
-7662B56B04D73F007F06869F10FBDD78E843D7BF741AA5A73ABDC393479FEAE7
-DAFB70005C81D387B960394AF016B12A8E73048D06A7A83039C3D53D43CA4A3D
-B1C0290A8502E3FE10D692428E2B5B5C3880457633D9B30DC69241D3162599CB
-0635C9D64C10E049AF2A04CBA28B0650FC356B78D666C041BEEA72A774D482EC
-ECD19AA25BA2ABBD41DF3FD1187B7D6867DCA8FBF2D60E728B48771E779F6CBB
-E6F4D35752FA4F0396C4167841DCBD1B0161A5BA019C9BB4CE4B4B010730CC20
-A92E2840CE301820C95F28E46E5FC4FE05C3BB23AE5965F010E48EACC2537C12
-D5521E5333ED7F3730442D654420F7F1B0F8B86CB4C3413208C43D91C357572F
-4FFF2890BBAE66679FE48D8EF935A3E50A0A2EE17B4DEAE2EA58A792E1FE887E
-16AED34F268BD50FD2A621301E3B4F22231FB1EF60A4BE64879E1F3348907217
-336AE7E609EC24C64276F61AE8146556A7E741AA198B297872364AD079CDDF38
-F99E76DF4EFAB0CEC030895562AA315CE8F3778609819E06284A26887FE0BF44
-440AA9530B1347290CE791377BC6D184D7FD6598201086BE3A2F4E9454D50AE5
-02B982D6E9DFEE244D794321D6CA46CD5D2BCBF5C40C63D958AA8A62A039E676
-FE7A6F57BEAF5F57F0E33BCF5745834D020CB4BEC82C4E901260261846A86534
-9BCF2196AE379880C40BFD58827CA049656F469FF2D4D5130CE0F976BECF2E1A
-08DB3C133B90DC8C378B2B2B621286D364941652A84C719E31744B44819B76C6
-C6B390B21BBE1064312D29661C46B3737B792B850526F6D26BB3CA39B831B3E5
-3780CB4524F948C7EC33A8E4499EA70C5947E97AD61329FD6A6C00719E602B35
-D565F0DAF6B0554AC168225C06C2DA0C1B71A51A9EF3E35A31E0CAE31248E893
-420E46A0EB13CAEDC853D85D82D5A69E3618BA2EB415FDBFD033788C368855DF
-0D86921FF800060D4EE3A8FC7C88A61F30FD2794822939AB8DB26DF937954906
-63D675638FAA01BB92AF2F98B28DCA1D336022A216927A6454D68041EC003338
-35AFD8E970E89A7B56B28D14F29AB0B937F7D6DE1235047DBA2FC59905F02BFA
-7146009A13814BD713DC78D64420BD3A90F791FDB5DA162B0D04BAFCA1ED375C
-659A5D383C8EE938653BCEB3E0CC80C72BFFBD46E4F16ADCCDAC6D36F28296F3
-5111917A11CE8B7A861B1E8548BE3049B8994D7B1C2222371772B42186731A5E
-0ADF67701B0923B87095CADF7033204D5F5241D677F017F7097C4DBEEC51BC8F
-CEE3197B733836B5CEB957BBB122F393A9EADDA051A26F5BBC0903F9273963BE
-CC6DDF021188A929660219D5F6E67EBB5AA342437D836685D894FA8F44E2C6FB
-F692720BC754D41B86467B68BF04E7723EF32BCBDE82F37824450CB9B3BE9296
-428EC5FFAD4FB49B74B57E25611B04DCFC1B980A617F6C514CF7DA0F66D6347F
-756AE39418BC2BDCBB0281BE4F46C2EFFDC1517948F7108937703B298B584168
-81C61A67A0094853C79A4064C5B012C5F41BAC8C29EBCFDDE5033C890EF4E158
-CB6CDF90AE33C088EEA96D944FA8AE5B850EEA2562AF5C5258D291025B8B8AE3
-EABEEADCD5F2D25ABB924BA87B4CCD99E8CF09FA18D613A375E9F7E032FCFFF5
-B51AB280A79139C3B2BA28BA2D089289FD9691EBA0AFA50C0EA8CCE00585386B
-3AD6CA6C612BF16472BAE5F1EA2F52EF923870E91BEBE59DCB7843F24D7E56EB
-D2936B10490F24A80ED7EB39A65B1681AA5EEC490C9FE444683C0C9A10D57DD5
-E2B17B90CF6BE85A86D783833814B56E7B9106C545F80A3284C3D3279100C0F8
-DEFAC90BB71695017377D5AD6918E1C74796F4B699AD5E74A52C07D8DAE2ADA9
-DF7429C8D8E9CCA2588DD2DF3855DAAF52C3152D49C2828FEC6C650200D6FA33
-E718FCCE5873325C9CFC4FAAD36302D07D3EB38C04A2
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont 
 %%BeginFont: CMMI10
 %!PS-AdobeFont-1.1: CMMI10 1.100
 %%CreationDate: 1996 Jul 23 07:53:57
@@ -3227,181 +2509,157 @@
 4956D50291F0546E50FCAFA6DBD0099123F5ECD4AB338DB310DB4CAE11337A89
 8ED99B6F483940C97544F888EAF0CBEB11094A13C073D0061808662A04A82BA0
 AD35E8782F854AF66C20C0FEF18D0ECDD1646321B93D327E53D88CA0E825FA95
-05AA57BD70E52EA0396B20ECDCB589689BC5EE0D3592A8DBD05AEB79ABE812D0
-3E46E3579EA7AADDE4791AC5B8AA565B8EE18AE15E42AC7AF099559AEE3BD2F9
-513940449AA4DE15BA4B10D4F05F44C9BE7AB2FE29F0B227B36A0F9E8252E69C
-DE135451FDAEB52B8AE11A8B331DA9E103128C5E514AD8A9C9FAECA16B4E9489
-B3C8E6D3983EC23006B39BA01E87579C671F9532E23584B7E33A8CC11B1D0AD2
-01939D97A84CB33FA6097F17A630C5C5F5BA63E6F819700A13CEE8F10924F0AF
-4A5CC405DC5308191F9E2EBF074CFAA720E242C497537FDD628E5249BB85A708
-281590D560A5BA8ECE8EB168E7DD6BDEE07101ACD4149F6332060817B3F1785C
-04BAF230BC9AE077F2196695D50D740B308F76F3A468826A718E3F8AD3770CB2
-F7F1D410BE2E74C953D13C699D7BAF8A7AE71FA0FC074F652E62E985FB1ADEE6
-18DDEC4F01FC3768BDCAFE2D62BCAB9C1365C6C27A819C5FD400B3FF858963E1
-919D9997CA721FDBDFB7D9B13061F4D8C4F73ACA8F0C5524AE3F23383D4E71DF
-6EDC3203DDE466D23024CD887F95E728F49FF8D064346080B4D1CBEA9C60EBCF
-BF9C2DB03F6678FECEBE86D51CEDBC84D574A03F96DD9E1B35A147C38CDD9209
-8DC645430634DF91BFD61520566D8055836C9BD8A747C64123A686ACDA3E1C98
-3AA6C3ECAEF4731A5F221D117C6956880AAFCABB1F155330F5717871D45AE094
-AAC55038CD0EC3E13B7B62E9EA7FCCFD5001363252140AE250A2D7569F00438F
-C84E7D6795E1440EE418009883503D0F02ADEAAB40A85A5D1D8593ED8D2E8D3A
-734DD7CB333A10F5E2E662F28E7E1BDEF297350C3C0115932A078F66BFDACCDE
-20C40928D487103167E7A8BE9811AF38B5643511107F6CE354755D31FF7FFF05
-30D8682871F78E120AE2A29ABEA76406767E01FE478383CA6B6C387385FD58A7
-8800F6EA3B583F6D4049C480242A8AD59049F09645F998DA33DAC8B47B81F6A7
-626A205BF0489081CF31627A3FF35963A9965BDEF737EE6AC1E9D790FD9BA033
-92CE1018EF4E616C64563845CE5FA88B65CC1AE51356BF859F4BD609349C989B
-D3C9A2A0690F2EC8DD022EDF03E69CC035A1786BBB385B60664222BB4E967516
-8D1F18A6F0CEF8FA4C32FA0930D28213A0EA85293F25D3F196507BC0338DD5DC
-2E10C0CF4010CB96CFC9B5EAFB13A0B6B6C77BF72AFCEC915A4382BA10FB42BD
-4CACB7597E2637AFFE6C0A46C4F7074DEAE4518676A5327177205EE4F6C1BEE7
-ABE5C53175DD52242F0EBA6959B6EBE2482B82CF882BD745AFC4C5DAF3DEB0C8
-8CBEF6E24240467C2664FFD2085A2BE7403BDFC2F95E8BB0830CDDE88AD24670
-F1E57245B8BF1E0E793475581F8B889733353E895B3064A76D7C4EF2B90C3B05
-8723AF14131FFD1B0C4E98A6CA16BF5698D58DD487EFF23C33249211A8CACBC1
-2B005D7176A1BFAE9BF628AAE9D369F25B5040A8828117CD74294C09A7EC4630
-809ED075853B81B60846122E0CF0494588F269A7BAF29C4EA73DAC39692B32C4
-6D743CE2A650CE90B0FF576EF4C565E8AB4901B580FAED154D80A235A6F866BD
-5D9C7D7267E904D0F5AEA04C0C09DF4ECD2085F4CF55F607E803B5AABC21CEAA
-5EBDBF95C6F86F6AB78E67AE37AEC25F85A9BC3151B1CDB1DD6EF2CC295BA77E
-6C3967352E995136F81C3F4D2C7B55BD8AA6A6E308BDB9BFBD36F606A007F671
-30719EB763CBEE152A3F5EBDBAB1116F1A7CB31BBF3CF98E226A14C4B3627E6B
-3B23B1121018FA98893EBBF18F593CF9FF8207204752C1F06419AFE557657030
-E84E7C15CA19757F6A0A0A2DAB497518F304597DAD6D0C3342DA2483642F8612
-536ECBDDC571B0923C77E0EA4F0B48CCEC6E942963CFB1221E746E38FC9DA58D
-BB08B3B8D80273EA6E05F572E7FD71D5A122C91A539C88FDB49AA1ECE9D66928
-F0978A3331CB8C052FBE600BB5D9058B8CD9BB02C907EEE81B947EAEE3A95B20
-ABFB7FD33D377798A16F7213426034B16B6CA5D279859E00AC102BEE36363F5F
-5D7852FF9D5508CBE3F3F65BB4F725F5F2FEE6A75AE6CB00865525FF64EE87C4
-D079A38DB5F194CF5E5F517FAEB157F9DB65E82EE2B6EF2102DB40C98ED3C9B7
-31C282FF23AE4194F900B4B8E3762C3A511E6461C3CE4711E4D61731A796181A
-8CD6D80607894AE00032EE6D040FAB53415BC3638712C88BF4EBBEA49462A32A
-AC71BD8DAE14796BFA5651A4286ABF7008C76724BD9A42B6DC9A3690FE5649D7
-369F6D1D0178D0C2C562B247262113AE020D614B5BB0D11DECC654B5F27F630E
-F1C51BD077CB08E71C0B57264156755C552D70602A51A16990553FAD0E6CB3B8
-2FF4D3C91722E5083703068AA616271B9D20DD18D516FF41A51560381422737C
-BC70C64ED68BA5AFD5AA063B528BCA2DA3F9C6FAEB1073010726412FE6BBBABF
-B09B05E2292B44B71557CF20EBD07FC70A76B85F0E9112CE4FE8167062D8A116
-872C2880C6D399DC39F5417A8FAF6BC08636E2012F681A144FCC868A21264595
-1011B6FF3BE9E8F82DC95979A30FA8B8ABFD719C78EAB1EFB55F0ED0A7BF00C0
-C9E36C40C141255C12958897F77839FD663627768D0992FAB0C06B4FD3BE046A
-C0C0F90C6EE8517F7C3B133A4545043959B9200CBFE457B0C6BB49CF3E46B702
-B5183590F8B1CD228BBA0FBB447DDC82F3C1403993469768737B7E893FF6734B
-CA6DBBFD568B0B6FD498D37BF0AAE926376EDE237D79FC6320816B5348DDC83B
-8E2ECF6C1D42AB1BF8B3AEF580899581C3D529BEE039B2DBF404D06B0789E122
-3464EF4CC15A623DACD5DEF1C9C8CDC7FE1B08DF39B3C4E105E9997897952DA2
-D059A1134ADB56576B1DBDD0742932DC8CDEEA40143C3E31CE9C1B6C2BB9BA70
-884811D3CE935FA7231721855201F84B31FE595883A7D132032020D2B166C940
-D368B03C2B4ACB65ADD39ACCCC505838AA474747E35F2419A2D0624B27AEF786
-12182C4A4DFB50D8E475650E37BF0F536A87571F3681D110A0649613D8167830
-A88038383FF79BE6E07ABE8ED0BA06B85D940DA9CB2D9A7FF65836440F652F01
-8F6CF011A3300CFF590DE73D7CB5C036BBEE3BEA975E25311F3684C864EDB33D
-88B0D7EC728B67851B452840E04CE0F188B89890861F4D3A75BCA721EAD8D19A
-FE1D8010446102D20D7F396BD91E7997AEFC8A8F08E3B210D3DA90B49B97A462
-CAD0575F550920A83A5C51D2AC9DF59A0150DC951DE53E8D5A78FEFA5C8A9FE7
-1292FD804E284D0C3C6B0D5549C401A8B59FC5E136E37022FA66150EC5C0D1CD
-8908E9B92C058210AED78868B6D11BDF2D5A389A5C8DF807D71467D4598124BF
-EE431AC98C57810B737BC95F375AED7F0D9989105B1E16C902DE1E9870D6E6E0
-8710EB4E0938D9F7BD3CF70C29AB8B244FECADCE88EA703B93E52013BBD3BBA0
-E4112CBF361D3FAD125E30FA33163AABCBE3F36F8B9B8F302DC6B52A8B0674B9
-2BEE34EAC80D31FC0D8BD0B67D303D9F1682569E5DB4A626A03FAFC6258F9AC8
-8CBBEB4045EE158D38BFAEF53C9193549AD408576D5FBFAD25244D26D783E76B
-AA97B5F56643DEAF52C90B9BDAF1A8460E85200988206C8FCE3B61A0094182B2
-A040A4CA3DD310D6F23A87469FF7EF50AF3252721C492A9E7944C816DDDB25A6
-1EABC4B1EDF41849E222960C771E1E94B9D147A0F8A2C8FE03526F949AF75445
-B9BEA253A517C000AD1498F8EF131B689D336ED5B50FB94387A561FDD69B4B94
-6B1AF617FD902B0418FD118F5418DC57C02BF01FFC9A4EB474B42B7731266E3E
-C381A1098B3BB1B4C19417A6A42C89310122461512435A94E6B42F580061E7B1
-69C9CB09B8A8C1F22CA11F6AD46531C6FBCAF093D9876D2E470F77AE74088C13
-E95A427188CA2FBE208E818E0B0A404BE18C02685163A67A515EFAC1E56931B4
-69B2228DCBBA96EE191CD8D098BC3A8A3EE6655BFD10296DE206A1FCF1DF7695
-9458058202C7C4CF9C63DFA88ADC438DB21C616973793C3EE42A21D7C9232EBA
-D25F8C8B3BB5BA39B6FE277C86C18747933AADC6D25E3B14547F88CEBEF0935B
-6F26411AF72A9C3E65D4D025C42EEB556CC388A774B2A88F2310CB07CDD0CD69
-45AA5303E97BFB3EC4AD24702E530F932016BFCD8151D4F1087EDCF6695B1F29
-B30CC14DDC304FD92A8974F724BC7BBB421B70ADB79361DC589A23A81DDCF43C
-1F5D586CB58123F97F25F0687CBE203CC4D1672DB0843B80E91C6420CA3A577D
-DABD4344746264F48273F52D7174977A0811E8CCFF0136C5EEB9D5E2705D7391
-1F133A72A108070BD8E038720CCC1760DB33B64F056952436F6169D13F2A8A9E
-DECBAA7880194B97E6E55E3E5E478121BD15ABF27EBD7CD12111A8723E0AB4CE
-3E404EA4F047E181239F33D501F44A288C1F43703DCC9DDBC5AFF9230BDB4913
-16C24F3C2DE86A715F3C268F63D14E3B02AF820403B04446A370F05D58D37D3F
-814CC88F65F1F394ACF90FA93E43E24015665AFF63818E39E54164ECDEA202D9
-1737AABCCC3EDE4DA406E2A1FB6FA68206EA204B48CFBD43171A83F59503BC1C
-2A3DB11DFE999DF4BDF3DBD0FBCEC291DF7C093E0D295519B0C0557BF8F46D19
-8CB239AD8271AC029F85460183507DAB1733115C29E914DA6CD6027685654703
-BEB83339D53D39B27E97943A6DC5DC205308F222350D9D436700B1E4BFB79FC1
-7E9C65100025A0594389F64638E225AD6B0AA69E4D51F339CA4CF0036438973E
-ECA4A772CC9424C584721B46343ABAD35EC50E9CA55086B2EF7D71CD1EDA5DD0
-20085592103BFD4CC90AB96BEA580AAC77D8F4C5CBFCE9479C17202195626499
-74E2AE8BB0684E238ED872057E74AEE7AF6563B6F41B2273FFECAF6A3F697F44
-CCD5288E286588799253FCCB28CA27352A673F13A511F5EE4EEF89D47297D6F2
-028B4B046F37D0B3F168CD0C89EBECC032B0340BDFF7A1AFB9E116115C7FD463
-EEAEE3104288D1C1EF7B1D18D9BBD1340675AE981508AE8F214C2EDCAC5039DE
-1655FBEFF4FF9599301F8FC80326F853166CD680CAFC5F3D598234933A21848B
-B6E1247DB00573D02CADD86203E51EF377BA3C902954403B0B063C1BDABA8740
-769E71DBD66FAF4A8B73B43A65BD5144B09EB77A8746006A45DB7E288027EE73
-679AB8587E3085A07432A3B82812107559FF7F2F4686A650B04866BECDD7032B
-F416D7BB3AB39FC039EC5D73FB9279686D191F6AF18E10999CBB3D4F2B79269A
-AA16C45D65939F16DCED60B1E265E528FC664B274331AC7170037C9E5ED81ED5
-4DF9554ECBDB10C35B9FBF3ED28A886C1BDE903D6F09308CB02F731EEE7FBE40
-6C274506CF56EA1AFDFA1BAAAF67C090C62C93B00C9F66E65C4EB19CF6CEF49C
-3B9E73A3F1CE804772C9989AC9E3AE7C361FD65255532E629E1B9B148A281CB5
-A0A2C1F8E586933F50AE3D5D3BDC8925AC261002B852F5D0A13E0926A4146FBF
-FDA6CEA3ABFA4BEA00A25F5138CDE9EE07A94CA2C47FEA3A313EF74AEB154FD6
-97F0516D5888CA99CD2AAED17D4104C5301C310A9BDC9131BDF44A3D45934D18
-33466ECD58E51C24FBF723179998737C236B8F516526034183E69EDEF3B1EBED
-CA3078DDA32D6AE047E8EA9EB15940111AF3FB129A9D064B6B3D42EAABBABA99
-EBAE9202C091F62DEA8F1D83ED65474986D09B44C3889D17FE34D489F142680E
-70AD0D34CA4D90F121EA520D2D24AB5A8713CD5DC97602E7C2AAA3D028DEFABE
-7D3A3657CB7B296C8FB2A08D35129D14E19BD3DB8EED6352EC58D50154489A01
-498B2293EE06C232A148C918449254E7FBCF15AC777C5726DE50331445BEF361
-6EADD39DC67327E030B8C6325E7F99124FFD07FA789205F179F720F75B094717
-6744C449A5C3B03614DBA5DA5668E7D5DB3FE84826DA2F6FA43F06DF67949616
-3464DDC30CAEF50F1CA901F4A5AAF5149378A92F111A8518FABA42A2CFC1043A
-E9B406EE5EDFC6E69D0BFC025DA274CDE5E3FF0292B84D628E2C0F4575ECAE69
-8D5298F6A2654301BC73367173F25E2F1418D39C69D2B8B38B5FD1C10CD98227
-451FBD34E57A9F51D0A2B566647F27E94432888D0EE95F8C2A6166384044EB89
-0C2B9AF3290B5AD03A39DD135CFFA00DB618F27BA5D3CA0249D64297ADBBC7E4
-B26BAEF3646061C27D6399BE45D936C98A7CF3B2AAC382C6DA831468ADAF0EAB
-ECE6F09D40E3FD5D2728033AEA8277D77F89938625C4A1E7164433EF7501E837
-BE86BE14B06B0945DA42BE9CBCE5AEC8514726494C29DFF0414E170F9B193DF5
-41768B8C927B131CCAF45554A24CC5C34F05B8FCC214778FC310D79F531DEC08
-B7552A0418CDF75394CBBEE461AE0595F40ABC738ECEA43E42975E8E4DC7C4E1
-F6A8E9C1E0E7F0228DA0BE44942F083974E0AEFE18A86F729442123795736C62
-9A7F50CD83A6BBF1B26F42BDABF3944F71C61323BAAD946E3143262EFF91E4E2
-2C14C04095983D2AB6FC1B5A9202ACCDC4CF3D69DAC9450CC3FFB3D36566DD3D
-18497411F6F8EBA62746DA015A1251D6205BC77E3DB297AEFDB71831A2527CA6
-0AA526AF7BFC20F5DD157AA1E07A45B2C12298895FD3409AB939B7909F1F19A7
-3CA916A8A0AE374A8FB0F39E3B15CDB9B34B8672DC53ACE778B4A30EB8CDB285
-E0CC83493AD90D973CD1A01F9978919CF5147BFFAD10796EDA5EE44E64C318A6
-0BDB31AF6ACE9388D17835389AA07B371838EACEE53750A3A1DF05D0D69D6303
-D2841C0F6AADF7090148D9FA9001DC909B4D1B2AD8656C1D0B33391894BAFC66
-03ABE2D07CB8567D7DE167BB520986AD7AFC361DE40409CE3012AF83F14C79EF
-DACDF6356CA9D9FC9FAE5D52652CE68CEC07B830B4FFF4C05F0A727FFC4FA4C1
-1E7D2879B0C7C50913B9C1DECE2E3093D675149D8514205387CD373CDE76630B
-FAD82707A15F56DB03E64031C326C920FF00308D9CAC9664A3F0FC6ADD2793B7
-5A760CA7DD7980223BF68BFC7B49C67BDFA08E4E552682B5A9F3B3264F435827
-C3A60AF89F135364EDFBC2C53A00206EA10B208839A571C10427852B15EDB9A1
-60178C25107D40B3052763DD49EDA25CA223821BA0D299403D60994079107311
-A1AE5328E8884F859536ECC1A27AC5028661709C92A16E8AD0659ADC71C62015
-8F2DE3813DE390C335AF909FADA0D79E6F0FECC884AECA543D9D859F68908E07
-B81479347229D9E1D18B21E995CE9A29D1B5391840CC2B5BF6259FF246577B78
-FC8DF71A0F3018EA7A44B5C3E91E7F7E5A4DD062EDF239CDED78462B63C72EE2
-BB0E8EC6AD5113DB8E179A8C17EF7FCB71978C3E6FBD80A17D24717E9289D2C3
-B56A66F636CD168B15DD8FE33D2A083EF2737EB917429A0C42B3AB6C8314F103
-666880B5E037B6A5D980D0BE8A8010D3C9B584F7022ABABFBFF1C8FEC3490A5C
-8C59EC8EB2B8E66411FDA8F36B94DF97EC7079A1F7C864A7039E142583E5674E
-9574D444693AB36D8A8B45BAA17CBDB29DD8E9EF600FC7895A6E5522345AAFC7
-9C11BFFD2A040FFECC90698F49D82A41BD92A6F0FC6B3999E83FB80C56EAB00D
-5001BF0BBC8DA0661E98FE4BAB6D6D1C24EF0FDC19E56BD0A6A261B1A1D5D7D5
-75C594F1691476ED302E32B8704E3AF7B62B4AFB6E00F9A6A229047356FCB401
-F34DC1B87EA961AB359D7D353CE5408D02421EAB04EB5B77251F164E7A05494E
-67A65C4D621A4CDB002160C360FEAB0BC043E99D882417B857240CDDFCF311E2
-74DA67B96E24BDC83F19BF351D2613BB546592B0373A1223B37DFA20CFED6A84
-27F0C793012334D4C70E29C4C21B17512904C01932D03F517A263FE6DE2A1C4E
-F955AAB62CF6D192138A5735907D12A0B51AA379F285454494618C57AB3110D5
-BF12B64D
+05AA57BD70EE700EEE696546A4081CEDBF8A19E9CA90C426522BE55251BA7E19
+EB6A3E1B8359509B30CEF2A838FA84F66E3F18565062C3AB7A1C455481AD9729
+0C204A11D752E3AB1C18A9CDCE7530E09811EDFAA0BB49DE752C84FCE3819B61
+852995D09FBFDE41AA0E2BA2CA720C2D2B565FBFFEF16F6F9AA43D0AF1E466BA
+E31715E4D896A5D658DCB69CD7A412A382AFDD5F6D3996934D383C0F8DFAF866
+412815B3C155587D1F4E4928FA2627BD34495B845C1D033C5B003437B64C9854
+F807C6966D7AA32EC4FB094127DC046ABC489553BDD6CD9A63B840A589A4D6CC
+0FFEE6145F455D72ED43FB477C7104A10270FA0E42779F11190D5629F937F760
+E1A0D4154BF06E30DD1EB7EB81BB4DDCF3928A7AADA25C42B0283845825F1127
+05EBA90EE8A86000D11C003D716818ECEBDB94286FC65516A14D7B85A083E9B7
+6F9BBA613968181E66E4F6744062F0E4F58136CA6BCE0EB402E6FC0968698C89
+1591642D1FB6EA4D720D1C066693739AD4945337B49007ECAABB785188602AE6
+BDF4B77C8EB5093C4E0FE2760D19BC6C52C0C2C733780A135ACB4F6A9647DA99
+CA6D591C337553CDE1EB58CD359F174CCCE28340052DCE243AEF6F59EF1915E7
+0BBD9CB03CF21F326DD9E5453C8BD5E5F224DEF7724C46939C8EEFF88C31FE35
+0090A7A008AE783A3E8675833C223C62EB4E93BE3AF3D97C7A812D0EAD33EF58
+B630881D432C72D37C109D131969B0146FBF0115388A74CF6AD5F2601B118FBF
+03B6F5E3397630476D7500311F2CEA956008C51A23452BAD00496C3959E2EB58
+EF36C266E219ED4A2D3664B8022ECE8BE2462D6FFA71ADD20BCBD9CF87F29FF9
+B79773AFE53CBD6D675C019D61470475CFC44BC3CA447CA08A4260EF485F876D
+A548355CE54CCFF33812221A66D3BE42C327194BD806C2E353920F02559CCB66
+F4E0E5C2B9E2045121B6C1177C63F6032893C4984D3999A9811E73E5DB9CE184
+84AD74B06FDA42911EB3A392D147CF85FA79C0386E26FB3F5D8D3B0398BC34EB
+11B3DF86A2E356710894E606C702B8AA8FA30CA68849295F08994CE69140594B
+87B748552371322A7C525158E59B9104E4124A56749AC1320E474119DAA018AD
+D1D635585F3D24285A049B520B8054D5EB46C24BCCFCAD1D209ADB6F1018F74F
+F7C1D343A0BE7D1C0E71EFB1BCF002133B41E4A4928044F87E7297C8DF2D7445
+6FE7506922CB8ECD5F2473BD46B8F3818C325591D4B4FE233130A044F0AB5A5A
+2BCAD5FADA450A354D5FDD1AC6AE33D127CE387421BAD6C6F07819764DC53236
+2DEDD3F2385E1CFEE3F72DBA73E564DA7FB93D9C79E19D6604FD6CEDFB1EF098
+BD7FF0265ECE36D2CB8BA16332B98A0DE19625E1D6728BBB9B76A619E72A84CB
+0E327D1600CA4D8B802B63C4DD2AE82C15B4B0967F9D456CF054C97090858276
+88F60EBB8E650C31AD49193A3E4118328354A74EBF81B4A21681A750A5F895B0
+55C4CAAFB734BEFD23231BBBFA3613B5B5EBAC8C5CD133CAB919CB524BC1F96C
+E8007D907CD4FBA9CDBAFF7864274BA705B77D2668759083F9922934345B21C4
+4C8F97310D8B54F9E8B5C04909D9822E4F26BDA969E255961AB62FCFAE28DA19
+01679A8D9E362441DDE91F4ADE78D11E0D2773D652227E988DE7D889C9B96E4E
+50005FDB71F6BB990066FFB040B18A333EB869C5F398476F50853045DAFE2CF2
+A0A8FFCDB4DD800096C3DEBFC72178D73B661AE268E1039B204707E96DA8FA19
+08DF839DCFE7B4F6AD89CF90D72C41A4100712950BC5E162FEE9E24FCEF0140A
+01A3C705BED3766B4758C257A5FE35357FD77FEDC396A2D354AC154FA916927A
+9E4B1FC495685B874683E55D0FFB1D07DE0D56DAC1BBE7CE5FA5DEFF9B16F53A
+BF18F7197482E0471CBBFB53D3C83231D07DFA10541C678EE5CE2F846E9434FB
+1FB185DE04963EBEF365B768A636298317078BB96CB411EECD85095F814DD120
+F75A923E1D47810AFDA3D84118CEE85D5EE4D6525305111F5EF4ADA791025212
+352BCADDA00CFBAC80383094DE7C9AA206F10DBD9C9817C1C578CC8D47585386
+ECE8B95E2F25C2A437F75F9C43C1CFF50949ECCB4E9025DAC7732586199E5E77
+4ADB821A0D92A7567DB758B3D8A55F6F06ABD12B13D62B84B7CCAEB95E6EF1F8
+D93C28641600F6B97870BB80CA8F86B95BA7A4E93AE0DC35AD0F6433BCF92007
+62683CCC79FDD6794494E89931FC485FFC17999BD4B02E87C9BEED0C4C7D13A1
+BCA04FAB6DA37905972D62F51D547DA851E7D6C6F5B964B4663D7D108AE8E336
+BFA07050955341A48CB900316466C0794DC10CBA1B85CF91E12A484CCCA8083E
+4DB5FBB4CDC58CF6E7DF8B750259989480C2FB7A3E271EB2B1081BD609D97F4F
+E031371C889B3582A3A1C7E55D7DD136A4C63B4CCD5255EA4CB294D7BF4097D4
+85B8AE56E8C018394B30B47A7DF06D6FDE7AFED2D2F525A90B7E119991D94173
+108BC501E96064B9F3D41E3DE40669F657F6F47B8F3C854A4494F300A0F7D6E8
+24709739E76B53C2424262234563600E66AF2517BE2DEF9FEFC9B9CE3108BB81
+F60A46EB25EF730E533308A18F923FBDE8E105910833D10CEFAB778E3EECAB8D
+A1CCEF300FD3C6FD0963BDB721130F525DF5F0270BBC6A4C92A4477EEF7C6476
+DB24294ABD0EF98D8B9E648E17B3315223A7E483547984BFF72F78C672D990AA
+FA1C749DDCB123374168FDC75943178B03B59D19EADEEB9BA4917D0F132B32DF
+A9B81B60208C07646ACE4226BBA042D33F4D9C8CCFFFAE0C526BA722C3142CEA
+92274150F2D4B34AACBC9963036940F12FBD1FC465AB661F0F8B3498EA68A948
+E88713ACABCDB98B692A46F65CBED4AB2ADB93AEAB18412C2004A820AAA4AD41
+D790D116D3638455F6452530BF11CCEA9A8E21E4C69E2D70B11EB4695A56AC50
+F9D1859B59D2395974E0847271DA9D48CC3CBB8788B52C797B358794DBF0A4A4
+964D9680758ED2153F005181B8F2D19B2E366E3960A914DAF703B5B9A1A30599
+2C982603707023B2FA70AAA76BF6CD83448ACA528E3E78017CC1DD706A47D52D
+866D303A2CBE5E03ACCC81E05426D98CFC1D68DA91EAB867DBAA78D87DA79B49
+97896346C66009A9E4FD1BE1768E9C4800193FCCC175587E3179BED4B6F11BA1
+0A6EB150C98C821D14048A78F975F3D0C7E1A9F355C60CFA09674DAA89ADEE78
+1CBC2F1ACDE860D8203F34103879A6BF2DFB10A3731617F4AD4DA0E505C6A91A
+51BD578838F5FCEC4C0F2C4F423A36ED8C35AD5FDD709727F2F6661B6B63A9DC
+BBF3A001F5E3EB9B54236C8DD64DAF56DD7D0757426B7C78C11F4FB4363D518E
+7C940831229234EE8D638EA8AF20E915D5B1CF684DD800E071F414D8BDA69DCA
+D3D310BAA7EBA66FB467E6D787B17EF54618BF029CFA6EC62A10DB2D242A413C
+82201AA08FED3E1105727ADFC1F247BD4EDAA81C445FACA77C1CF13A65CEA819
+2CABB1550B826DFDC387D83C611B86E3A540C0B3283B3E2EA0E38E8749D67B32
+99D82A1F16E5A036442F448E64D3A2B3D3A8BB6E418C37A6C86CF147C5BBC5C9
+A35F8F96C71CBDFA205DEC5A1F7E2132E063A6C9E584B7A4FE503BC2D66A1602
+D53B8713B5AB08037601D1696C15896918C4BD105AC35E6B2D36416CE4AD9E78
+517D6FE163C3A5BCFA070D946609088C01CE50529A466396154DA9CE9E397046
+4AA13A56F7B2EFFFAB9F3C2CC3F4E9904D1EF405B2EB25CEB57DDA0C41800A04
+BB2C06402F54919D48A3F45B08CFA013C487EF53EB63C4D1B291BCC6250D0EF7
+CB333E13AC7EA553C2C99A2F5FA8D620F960D6EF37E44D9282B597564480DD86
+7FB82E421691A485460018EBB0F82FA24D24ED35CB1E313AC23AB29BA0E265AE
+1869A9045A24B51EE309B6938CDACD045A5091990E9D449CABFDCACE9B89DEA6
+C08DBB7FA268FDD59609D521027F80726885AD435B72D1E5B284BC45EEFFC416
+253FF2F88562D6CDD324C10A3991D8215A5614B3DFCC42E251BBB9CE33B91A9D
+778D128DD3C20EBA78E354958D3132721848741711A2F9A9CCFAA3626896EC37
+A2290CD3C36274D83833D1DB29D0EB1FA298BC4494A04C842977A119E485E60A
+CEB38EC72B880ACD85CEDAF1CD9286CEC05BCC9BA40F6B12DCDB6291370BA6E3
+AA347B7A65275CE71421732A4A0C93A4EB302CF0CA29238170B3A1EF621C6928
+09580CA960F4567076318CEA46F0B4580517950D8CC7D3D5855554E65FE3B5E6
+8AF105B71FB647CEDB61DB871A1120FF2AC5D3F69FEDB8A634B5277ABFDD068E
+58F419987C8699221DEC199DF82DED9D05A50DFB2F00EEC15B604E6994FB2ACD
+556F4C861C05E73965E625A53BC5DC73ADA47810CDE8A5B03B449BF9949BA4C2
+1845B810EDE44851866EBBBA7B4D81065C75AC7C71DC54BA1AB96E7C84B0EF73
+A0FB5821788F9B6E1682FCECCA9FE270EED3689DA6DA8B8F729CAE1AB1055148
+7CA51D7EC584C9416D2AC33477C1C24D824B838134B761563C6EEF70DB3275F7
+5823116C88436CA310BD073F00F4936BB663E2472D5386C35AE0B18D9491A95D
+C9DF8F04712C5042A10FB72DDCCB455D1BE9CF9A11D9375291833124CC2DE1F3
+DC4E1403647A937BFEAADA7EFD98A237DCDA6A1FC499B20FF6BA439CA22EE368
+B89FAAEC0A5E657D584E722DA420766272EC6D31F13712413129892F960DE9DD
+E506F7C03720A71DDBCF9AE6A50FEFA3C526ACC857ABD4453B2653721AD2783E
+3EC342252B2E20EA8388E2A7B58EDEA82976F6F6439660DC2597B779FAC6ED29
+539058F270C5DF0DC8D0CC5354F4145B41B7B1989F6D3286E977C2DF6B0C88C2
+84BA10EA6A39D0123F1FBB7AD3D93E77DAD88F6C9B7433F52A97C18E0BC437A2
+564D8CFF52CCBEA15F1427C54A9805B0B7D5B9987FB26DA328D6E142BCEE1C7C
+6D766310F34274B48DE7BEA5AE3AC5564F682B4D7221A656991E04AE2A85D9C2
+46FCCBBB4160845DAFEC409C79B367B445531457D70BB451D55FB9AD9B47DD87
+8EB725FC6E83582DFF72C0F07E7091CC90E1938185A8F100B6F884BCE2FF8664
+9B0A0F8A17FD2C11E5D3E7895811712D842D9A89433AD9EC9D999ADA2BE34F8A
+1607C6618FA71FB8CAEF05C775EFC2227E19A87441CE6CF51A83AB7C84E50E4C
+A2F33610769210E8E66D1FE77CA039E6B3BC618365430687A14C09E7F24F4131
+DC825A048FEC1EDE15ADFAEA09CC9F56FC60E7C7771107ED55A4393ABA671028
+85938BA3A48E24A99E129604431275E9EDB2C854E5BBC7A79448E2EB75E4FE0F
+E7D4E6BA0E919E87383C0DB82DF919D424A5E91D5578D8029B81711856077890
+7CCFA7E067EAF5988B0D40BA665F6F9888B82266B1736D68317206D825F2E9DE
+01B4C33F82306466740218F103118E7A2A855673B9B49F4CF32B1335896433DA
+6867994D8081645312186562265C08B93F23ADCBF75B252174D8D1BCF77E181D
+5C9D46A777DEB9F25FA98809915D18B59361B84ACBE937E9287537A5A1F46591
+009E8646D4DD5505C143296AD1BA4283FB7B236F09AB03FD556DA4CE8221EFD0
+FA069CDB0324A9E73BDC931AAE1C9B5E888CA677BC29CC10E63793C59B69E53A
+974260081E3B89E9C5810843D19FA86056C78800353D4D451709F0F8E37BEB4A
+9B77E23F3B467D9C4FE298DE856E474FFC87DCBEAE4298700961F92B59FDCE62
+EA066019FA356445C66C75FBF13DE3AC10834F356E00AAC4A7AB804B872D6EF3
+B58C68B5B715F3EEE13E82A0D5A6FD9E6BE288ECA5640D183F9B4258F80B666D
+E1C68AF795AC15A44CE1265243D8C26EB291A50DF7804C9F59F4B9742AA47F62
+54F5443AA119E240C79F0C77570CE39ED3E7BDFFE2FDB5037C83FB7AE726A265
+6BEE58956CDBF3DD8607AF9D21484BC03F722A69E52F8DBBCBF667EBBA93790D
+28A85709FFDD046C6B68E26B45E9C38E9CD83FDE4E45682AD9A6D2D06DF595DF
+195E91B3DE27AC199F663977312DE2A19D0741E0FF3DC83951666B32013041B7
+8925D43258E04071774A92AAC8C5A5EFDEBA1A60C4B317D1D5E2C04A42DE8B8E
+83586D043143D1EC3D5A4C9932A2E42C4D4BF6AD946A15416FF3FE15ACB66445
+3C6004122E39E0642CA5BAAFFC54CC527662AB8010D23156139006D3D1B6CCF5
+4D13C99BB5D2C4830E8340B567FF5A616FD523B319D1F5F3B20CC46B297ED593
+4FD1CC2B6B75C45CBBBBCC7A373A0BEEEC828D2FCE5EB3B977F96A7452686057
+C6CB88CEAA08D823144951CCE3E832EB0AE0AB856437CCEBFC5542FE7E8C7C41
+6B8EBA26C9CC301FE87E84B0BCE696041F09D3087BD92DD09B21B2513B1E63F3
+E10C07FB2A5BD868A9867F1E86F56B2A952E52FAACAE75C77978C2F6515F0D81
+84C71287B610B020D0D471284A30B94A1EF0376956F44A02439E7349DE54047A
+52950B3C3DC0E375B399EB53263B9A7DB543556019E5C24668B64AAF709E36B6
+5A4196CB90567595737CF13E7CC85E4F0984226A094BC3224530174469E0B4A2
+35E913522388B2C7C3F943823537550A2BBB2DC6BFB3EA9E9F45698771427A32
+74091ECF9083C9166A14FB68B8492D33A57FA8CFA4DA3B6B44B60F7E107B1BF9
+37B7F56A67C3892D2AB9EEC20AE4CC3E0F7FB87FA44CBE01D1A2AC5237A07405
+01702867C1D6DEFADCB112297949A5306DAA98DF42F6021B48330114C2B48261
+8A5F0851252F83C4B2FCC51846E9284D3659BD17A76B762132BDEA2B6B4277CB
+92DAF9CDBCCE6F7A034BD28B7F578739B33DEEC041BD13D987C2ACC7547566F2
+2A88A513CFC892E7ADD909A8DD1C8E1548AECEFCDAFC565145
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -3472,217 +2730,358 @@
 75AFFD283746EA8657E33B8872EA021C6875189718CA0E705F28A9792E71452A
 B89E04787CB1DE71CCC500EA765379AE119A4D5F99F68D41B9178C7C8ED352E0
 A1E6DC9DF53C5301100FA3234C1D8E2EB7D5E267C640158A7C16ED424F1F801E
-D49A6E55D88E47257C1FE6F4911A80F453FE60FAC91C0F1C634BC8303F889319
-2249F256E3D03ABCABBEF82548BE9EE4760D5AFEC07FBDEA52A0AD12BEC7726C
-C7A5EF714229940B17A6B638974A56D694D6F66A013BA2D8D4A60B81A2F0B8BD
-6306DA689D85E5EC58237087C653D5008739F46EB0098DF5B205854FF668CB0C
-570C8F92B76198794BD0BCBCD4A5D1C78C8B28746489DE8C628CDC020C279F4F
-3F3C42B63F06F7A0F0271C12F258D53A372C3ED16DE1F8495DF8533DDAD49F54
-9F0148742FA1A64C2FB8443C217CE2496AC46A7226FE7C077E7FC19F49B9D3AB
-692223F313E85665497CA5757AB6200DFC7D9CCA2BAD25E867F939AFFB398A0D
-19E96C5A46846AAAE127052EDF9FB9EB7F147C1A4CBA60793B8BE29DF0EC482A
-1D71EC293DE963D91407350E9C4687611C346E54C71604CD8A81BCC114FE6A34
-82FD2AC4F355468101643FABEEBDCCB925DE6A2D1DBB875874F11E14A74E5D96
-94AA423ACAF655E882E6E3B11F368BE288F52FCEB3A9A32A1C604CE8C7B29706
-26B59075844B4B483290950117912254A14F12BB5F05E7ECC0800ACCAEF2628C
-E77BCB53BBB53B8300B5CFC9D2EE25837D08D1B54160E5A1D78ECE01558C496A
-6BE6CF573792F0C69B79BFC1083421AB99B49674BA3C5E8D357948AE30FAA384
-8E1FD6E527F5EF4F1494C8173643BA029412313AB9540F6B500AD06494E5969B
-B9175E75FA5EE04756107852DF25166DE441464CD06A5E44835A092A377F0224
-8D49967D3D52233C24DE1F425D0F284E9F4827AD57462CF75D51FA134A164AD3
-6170B31A21F9703B291C9655698D72DE7FE0AC718658901CE6D02E5768E7068E
-2B6F302D3DB17BA2EAE688B6D0E602FF980139C60BEDEF5246746DFE77ABA380
-FC8A6FB1D20802EFAA540A76BADF86EA439C79D4CE002C203C8EC77B879BE226
-DB2413865EC20BF917DF8699996B6BB051E930BBB80654D159827783A3AC1B40
-1DB840F584353DD1604B8477E77815161864C7D9D49204DA5211A5CD049529EE
-38D87FF062F1EAC6C4360E52B05ECCC517CFC8794FA8040EBCFA830051894F91
-9FFFC84668A06F5DC2A3815ECB81AF54111E319D768242B0FD34A23C38CDD4EE
-49B0482C6F89E8E616ACF709EBE1F95DF23FBCEED852B01A6EA467E5D5744C25
-15AA50116B04A56E2FADB0F36FCE73D643FE0AD9E07808A27B9751CA8079F174
-23C4CC4378669A67254DB7F474D1AB2B4D9ECC5495E3B08C48D567B5F14050C6
-2F8B944E4B731F51536B02F21086B86FC2659C02D3ED547B98CA2304C11BD36B
-FDD6C35DE22D170325DA4BFB6CCB3B63547FDE43CD1D5AE793B26B8CD33F2907
-89157191C87B32C1E5B237AFA318879BCBCD947F77CD6C1F6505629E62517122
-E0DA55BC86E5C4D209CBD2C97702278B27C2C1151FF3304353099B011775710E
-00FE5D48DC419EF2935AFA9DFA97868EAC641CD73AC6BB54AB56CABAB81ED230
-11657272605E5D99583B7E8E874D6E2F5B6BBBC1F1D5E55454E78BD5588A0D5C
-D79722F447A59F3B1651683049A9987EF89E7F390D2C494EDF86FBEF9DBDEAAC
-38F61B1041171D641AE1AE4771646F47DC586CBC70C42D51371EF582C2490F90
-ADD21B0FAEE9267C8D8E74EA4CC1C854E1DC4DF35C0DC6F5130390437CB69FC8
-948585430B891DF0BCFFA849648295698C015ED98F5040364E708FC7F86EDDF2
-27B2327176AB5AD19FA63EBFBFB08BBA95854B59F7F35BE06A3403FD67A89F07
-A3718C03422B40BB926AC1431B21860C492C42E3FD6F3C8E584B10D70E27E1D7
-10BA9A5A555A607D19BE055B537598A8DF86E3A5CFCB86FAC2B221060F0A370F
-3223814F7B3384F06820F013CB9926DD6BB3D94F45164E5DDC3180A142A3F550
-37B850A63A4D4CC373A8F09A71B4B9DFFA5108283B4124E9D66E98EA7D650CF7
-407787BB9BD7FF6C7219153768882F4111C8C76CC56AAFAD4305DACA2D5CB2F8
-8185045767496AFB1371F7F1EA12F5A365EE5490815A71C5D4D5C752F31E245B
-C9269B6DFF038D46B7B769DCEB90E805AE45CFF35F3760057E2D54D57DA91275
-0C7FD9ACC20ED075E1A5A50659903A93C4E3AD3190A6E211467F5B2FBCE15937
-7A42B1A892650F6619F6D6424B11474F7CB5A2EC22B417DAE3C7DC7FFA26DD0B
-15677CEA8321967441A6438C481003FC8D29052CE1B00CE03DBD5E52C9723C49
-5BC0E03F213BCF3F3E33237BE1B3D56585A121454B7D0437E0F4ACE17C9F69BD
-4645D743A421F2A069D63C587B8CBC90429DB152E06047405EE712A5334E3F5D
-080E484D4A7040E3208455175B384E9FC7DE73C5F0F7AAEDAEA8A7432FB0B7DF
-7C162B7D12179396F2DC793D7081D9C964B9B31EC3D358F22B0D903FFC1B58D0
-F98D4F90352DF4E4D7465A7E58664DBF0491C1BD867A5A333DF9AFA3EB0D22DC
-30C423C9D4C277C40E4112F9CB146CDF283825A8FB2AAD6A48F0C2CE06F4713E
-EA93F6CBAD172C4B8A17FB67AECC1812F265D7C36526E0F6AC4074065B71F1F6
-CDD232EBB2772938453D2DE63F0790A2EA230DD8AB61BADA666F982115A37A19
-F8B1CFD0181E531B6E470785D2254FB4FA046D0B3061208EAD8C945E4BFC70D1
-B11E06790A0B33BF00A484611BA79D1A5979A6511F061572449A790B06940D3B
-2A4C618DF49A71C53816A5DB6FBC040CD5B767AD4BC4703EE02170E28AA9A4C9
-79479A28B8A237A3BDA81BBDE3738945A5C3574B2DA0A50E3254CF85995C7281
-EEF0B945A309F2983AC6A437E984068721B4DF29C5B9CB43B8C4417CA63B4133
-F817EB754BA22355126985C89182ADF9FAADFE19B0C94E549E36FF8331AC636E
-FD6883AFCCEDCBEB53E746ADB1DBAA4B4A2E8487E974D9F7DAED1C2732B158B7
-6F0B215BAF8ACC689119DADDDB4C61B83E99EF553BF950ADEC8C05A546C0F444
-529EDDA1D41302EEC8FAA0385B036142278C08C2BF6EC9006F3DCB3E82B43DCC
-04045A62F28F07DB47320877C9AEE2772420BA5B2592DC7D03CBCB088000E281
-A586CE33100EB0A2ED814B72DF729AA83AB03AB7A8A51EB8BA0A32A81320939A
-583353DBC1301A20ABE5E514B0A1304BC1C76F0D0F88055FCB6F06903C1EC7C6
-0478137638323A7383A1485D93DF57AD8430B26EBC88D88840C0861990AE4A70
-9B9269B8522E9E1BA4359149F7CC020760DEE07D6EE5093333A59CCA677A7525
-F88FAD0CEB38B156D5D3506115DC4A542AB8E92CFA37BE70C4CCE5B06CD0EC18
-4AA13CCD3C50077D47D930FCCF90578F1B62558DE29FEF9B06272405F8D1BEBA
-38A8FA33B9329016B9ED88F61C08F8ECC9987D42F826C220E3FB608D3826D398
-897C234E374CA4363429ADFD9DCF942B7A1F02337CD6993D9105F169B5956F49
-AB989A8A7DCD426BEECC71E74903B48F4CF3A6100064F8CCD5780E5D370D4FCB
-435342882FBB0B4423215FE4345BB44C1CE9A9A9DC35C9D16BEB61B03C54F113
-2F2B4C6E9F4854D62E48617679D641ED0BD66E38163F98BB7B28ECAF05640B15
-1925D2106633A911BC6763816947CBE81F85A9472DDB8FCA288E737DA300F1D2
-B0EABB6F0DEEE4EBB6DA376FE4558B6428082C141B0B174C120F6A52EE169C67
-847D02EA14886B29F4B3772C5F24ADE55603B35278C20AA7977B0759D3E104FB
-899D55528D667C5283153F9C21898F451A8A63A2F1DB7C3861CAF5B217AB9FBD
-35BA3E6C4AC1EDDC762D844E6152898B18F2296739C0113744AD3C15F53CA7BA
-626522621CC9DDBA3C007E6D9AD47AA66D43E58AABF49407CEC8FE7CC1CD5C0C
-3C27C05FE30B1B2EA953034F8F9648141EB74FEA5386403A2AC1A8BC88FEEFF8
-A5545A3C759C74D045B27CD7D252C3CC598C7B45DC545DFC10D527F5613F854F
-1493D1CEA933A061289503CFC0F880DB0885F7560E8097CCA0D1A2133D0D8507
-12211EA0C337243BFAF56EF5B11BCD87B40CE67CB20C401A92A79674B2FC89EA
-DF6B2C1D20280B72963A353DECE913BB8DFFA95378E12E5C5E2757D3A5B91E4C
-A225CDBB3A49BFC50A7A16BCCB69DE4A08A69B391B558824D497A0C2A0FB70A7
-7620863BD95009332C9B77936C6F0C045CFA18D9C9A0E4F6648341CC7C697B45
-33FED97CC6AC3B36229338CDD283F5AA99BC979C5779722DF5FFCAC1B9354AF2
-807D1903623E970BE7061D741AA179873BADD718F58B1BBE445C6933EAE6BDC5
-091A31D18D138B14AE1580F519D77D44DA01E14FEFE338C2DDDC64FC88E2E18D
-56E144D02CAC2DF0069BF819EAD6DA5236A3C27B57950E824D91DB5B89DD8EB5
-4248F626221FA216D96E0DE974FBA87BD348931E3AD30CB309496AD789EAA356
-0D07BA01D3CF30AB26AD497AC963AE9DB3C7AB732D90C31ABBC8E9DE85A7846F
-D5F6A0A096BB08D75299BA6EF018A47BF3C5F1FED5F2EB66A79AC5EFE9C00972
-477078E36AA5EA2F9616434783C88DF8F98BEC1A6ACFA6CC96E7308C644FD51A
-A4AC4D7CA1B29D72AA352336ABC3E8BD27E4E867DD0212DBFE354731BB67F046
-3539BE845DEC0DA0F6652BAF4E6FA35B0C454E1581F0B30A025F38BD04A7FE23
-6336B91D8118C7C47FBB9ED7B6DD6B16136FCFBF17FDE88171AF269F5D0AE418
-E14E5A23F8E48A37AAF7FD9EA0D4D078A0DFD6565FA1A1E7A1CDDA300DD8973D
-B415F60770EC57754BAFF4027246DA79874B1169FCE00FB24F71361A27AD545C
-427EF820102AD9870C0C3641810E877C0C0BB9E0F0C2580710C5F7656DE973EF
-50C615CAAF50321D38BFC68ACFC16F59CDFEC3D4B0F3E038570C2F6224E5C632
-76026C9515D55829F96C60F82E9B68A62A837B5CBBE1A94A7FD9905ED301886B
-FA181206B94234C23C4E273FE385BAD21971CD0FD4FF7014F4EAEB6DF7828EA0
-E3BA905C02706BA362557574BCA0C6D585F848FBBDD497A0F8AC081C2942229F
-5056B94BA5A0674D005EEF268E5DE1223B0E9FBBF527AF5C3F54B12495EEAD68
-4EA2B229D8A3A47384B26DD82A39D91812BA842A8036903CA5C2384BD8FB675B
-7CDA665C4CEE9CA92156E83AB4119D149264177835F4AEC99093D8D664AF7295
-2D4A0D507012DBBC669111DF5785A9585A982ED04A83C228C9DF9100886F23E8
-D8AF0BFC68AD29A69606B7D0E076109CA2484DB6CA994B2DC836F8AB14E98128
-4758E793A4FCFF8A1EADF464D7F34BB020561E0418B1CAD455DF9708DA74C07B
-CE20F453F5F841EE842FF5F445AE7BA8BB584666A96CB0A9D6F551DB5C12DCC4
-DB238CE5FF30D56213F02B3ECC4F24F9821D985D3F3197228A6E135C78DC9390
-99DE7AF1FC0155904AE8C3462DBB50A607D20E285D9213474A58CD0638EBB163
-07154A8B7673C6C8F3283CB90B286ED5CB3D97B94F9B1F27C994AFA560FC95FB
-EF9949B6613440C3012ACFB33F9A2843EA51855A4284119DC23B75EA8C6F5A50
-4D0496A1655C2AC723AE932FA32BDC5A4A9616AFDD123272D75819914277C2F6
-B14221D1C9B670CEB80B2B29D2E255BF85510E139BEEDD7ACFF684B8DD8BF976
-23B64BBBB3998D5864BD81BB933747869D30F1570B408C2B4CF04C19F09969DB
-416FFCD3D535579FE7E78F492A4AE6932450FC9E2229755D7BB64BDB5BF6E15F
-CE4D4F963E9F28ADD5CBED57ABFE0941A67BC2C66E714B15B6326CE79DB79AB8
-F80D0FC14FD08598914407CB1FDD8CBDE4242F09D5D75FF8BF17E1351319D5C1
-86E6850DA777660F10E30B726172D2D01A23886598BA5F34D15E58928AECBE04
-F2EA75AAB3FB34BCECB16F47A56FD76FB5962CD59E70E07C6CB4A0AB006AFBCD
-CF2CC746513BBF4D72C1C7B3AE7DC960C3CC7B0BB10DADB38EB9B0D8BC2E47B8
-8EFF019B9D1E9555EBBF6A9A227E9D83C1BED76D5FB4358685D52CF86B776364
-7FF288A74CC34EE2B45679C65B3703E8EDCE6859ABB3EDDD75FA58CD50D2E36D
-94D79EF2478A683D7C3A9B1B573315BBA53062E89C0AED2A2C362BD01C160815
-DEF7B70E1DA9A8843503D29D086A34280B05D143B91F3F42E4239A6A705A9BD1
-89B8BCB71D1C7B40CA74A2498C16903DADA0C0FEFDE95C31846DA6AF706B4439
-29B907402D67F10046FC41A7388AB649D1920A9882A9D16803752E5896468F09
-46FF1A92FDADC9B85901CBEF84BB4DD57A117C20FF3F99C8BD08C02D04DE8FE0
-F5ABAE5604439589A60C835F73A447E977ED17DF3C369AD0A007946DF293014B
-2ED0D773C5D49951CE1C3D2B635A902236F66FFE71A0345DBEEC764C81E0BDA6
-8A20AA73CC7A59A569A594F42B9E7D2C3789FB6178BED3BCB096CF53FAC46878
-631EBE1E4345A674525041F53B6A590BA9B942A44411BC5601B90848C8999D36
-998375DB4047F175556568275F708343A0E161B0820AD896E0D078CC2932EAEC
-17786BA3C2699166C22F6DE7BF724D342142C1F9D99A50ECDCA814312BD23C7C
-86E40BB0BCB8C76D2D4491F4FCAF1D1F4AF9CEDF0585477A3B9DEC30582A90D9
-F57CB837B45897E4ECF527AF5C3F4FA9AD275DC32119678BCBEF96DFFF0B4D01
-EA884354F3DD22A36ADB17BDE2819B94FC8E17EAC7EA4061DB59D15A6D59F712
-5E1C9CAFE7E709B83E17F8E8218539FA127F0EDE8FE1969D6E567B59B28A1D62
-8B2282B28AE22977F1AB7D88CAE33EB7AA7561B22367906E584802055DB6BF21
-B1DFE924099B3D52FA2835D1963E3DAF5E62E746E23772D185A526073FD4F475
-B28B0EE5AAB8974CB787A70E43B29A2B0211AB66D9290D07C5AF52312AB5772C
-D743341FED85158A6FCC528012A33DA81F6949543B3BF132F7E0E529F9E48E5D
-8F8418EC3596D3B015D1E303D67EF51233848A879D14B00CE5F39A73C3CBA8A8
-68AF840CB8A3119DE581F28DB2E2DB2174F7A9F7D9CD12FC48751C24F593EFBB
-8557B122429126187A7E7864659E77D66BAEAA620B2E29B489C65FADF338BF8F
-AD44D4DDD0D9AAB54BA37C7C9B2096895F064E8F6A9740C1B134E51254F4806A
-1064C36786C7244EF73014C998754262F1EAFF9C1470970728955717195B5CFA
-25012787DB91B73730DA4D725D87007F56220D7B2B6D9D9D9A77BC2B456D330D
-C55B8E64FFF783119D5C255C405FCC95AB06412E0AB979A3C85D0D3873A1079A
-E6C6B99527FF3A91B87225F54370D3FBBF251B8E3739B6B4F12DD837E16CE971
-2702AFA3F0A8FC02833AB2718E3371866DCF52319A2C3D7736BDD0AE51AD18FE
-FE23C3B6C50A4B7F63634A85F43D144940E2832336342517C02FAA8A90C6BE73
-590FECED7D90A2C44FD7C927F4B6B89B0FEFB69C0498AD7F1D2E4F18F744A022
-FDCC06CF9DB601862C198AFA714EBE872B6052B03C1DAFF8059E7A4EF6F6EA62
-145776B7C7D658BD19F1D622F6ABFBA17B513320359C406D72213041DD6977DF
-FC5070861A7FF500AC542988867A77BF5BB27878070A2BBCB3557DAB70C02D0E
-1BECC109AC7DA253A39D5C8A8D12EC87672A7BCB3BC98606987CC8173848498A
-028C3858F0C6C8691E1C4A5149EF06BA736F650258251D4A2D7D4D16A23B5510
-DD56A5E8AB791520903EE726B187861BA132C4D8349E408217246BB47122ED5D
-46780B673C257141A25B47CB339309BE94041F6B56DA9DF0A6FAFC10DC06ED2F
-718DE8F28FF78CE03C1D8C68AAE3108214231F3B441446D6CEB7982926337261
-6F1737D472EB286C723991CF987052870677D0982AC537B376EC41701837937C
-88033BDB57DECD574E3D8B17AA976B88B9B2A3881B03FBE0024E55D5AD5C3C47
-6D030D52B1CF1BF627A596F6710318CE3ED7595866011BDEF2F710EC765BBE0B
-7D5E01E165B6A955C17B04FED6BC86B1C11A398593D014F074410B62426FA173
-AF0BAA2FC23DD26E9E84BEEF436AA34D997114D89F0C8C7A3C289E0DF2EA98B0
-385224AF40C7AE78DDD94CB20D917C604B92481152E35037928206CB9EB42538
-911A89D87FFA90DFE72A1FDA92872F8EA421A4D83CC9253997BEECBBE525A72D
-CB27F1B3F7DE119636134BF64A601415AB619809850FB7184C3CF7451CBE39E9
-46A670F7B990097C2A09770CA8CD399F0BBAD421FD9304DE77AB73B7FC19419F
-B85C18D9BAB7FA7A2E1F1FAFA73F3CEA342BB9EEBAF98BDA358807467BBA0203
-203EF1DEFD0C5FC038D6C253F4B8B92D0F864D0D42769EF92B9A9CE552541D4B
-4C46084D515AF9925FB5AECB6934FF423CE63F83AC71060B643073F5A068CAF0
-0DF131257B2E337B75D2D5CA43807FDD56BD33A0D45903BFADF861355D3989BE
-2E711D326228FFDEAAC68210C87F7C1D74CA95D1C3DC9928103636A13250055D
-228ADBB7E09A3E397010F89813F5F6137C5E4162C3847EDE28EAD469410CF899
-4B083AE4A194D7F52C8FF0991022EEEB0BF6594DE137928942128D0314CD823D
-193AB3948615CE7D29447B8ABD606F11CEF859269236B3005A3CA98E39898A20
-416CCC15024AAF5A916E35B1480E7B9CCCF840EC173DFFB520593ABB3B9D6C8F
-78CD1B019780E71AF881E74357A95C35EA68550FDB3CE66024214966E3A920A5
-21B42EBC0C706DA494C6E41B82CA2280CAF039660D854D2121F7060E4498EF7D
-97E33BE5D5451F0E53693767BA82B7469A32ED0097590BD3774817EC79D60157
-69FDFC43B9EAC4648251C09D32FB09F31D3030CB421B69AE84AE6C5CF2009894
-60012206B35B14773FE31533791749727ABABA3A19121B9D6AE2EBE4AB621524
-92A2F9C9B7C94A106160845E82BBB4679F55BC2689B98D36396BC31EE13ADCD9
-FD858A122F93FDF5724FA30200C676156140D50CAC54D57C818FABB047F8AE81
-3FF5B727E1A7AA60FA011BDD079C938A7DE34D7D0A4EC35B528657017D61AC43
-78C428F1DD03D3C36823A3032313FA7D51277CC6658BE77FCD27BDC7994B9D27
-6071E2655B45953FCF16091DED174629187B6EEF1CD30D69A5295752832068AD
-2982B9AB5653370AC08ED9482816C8E0319774AF0308BFA44CC9DE9D957F6B11
-C41D960DADA670C7E8D3AC491D10EE03AE8DA6B42C083D0ED782EA592AB5903A
-66AA00F6E0781FBD45EAA238148E801E3AB0CE9F9D398EDA04B3917A87BB33BE
-F59C71D1205F0CB5E9B696C7548FD97D00A177867513183FC804F50E206D8109
-1435EDC047DC8442BE50FBD0C3CDCD04DA90117C95FB7B4E9C90D7447D38A1ED
-C21C9CAD4DB1C388DACEED1E8A64D8AF5E2CF4A4384D77902004B2B5010FA06B
-3DB96C3A13A297D3A94D815640B0F244F4EBF7D126020ACB9C70B144F0327892
-2964653DC0081758302D4F41F2123DA161540BDB2C13A9F234A880A3501502EE
-D97E285F8E3330AF0B0EC714F0ABE868CA01F6B8FCA28F48820701FD992E704D
-A4BA9E695F87EB718FE96FB917CA8535B2671BB686F9AE785CD702ED2FE16E21
-16B4BE2315703FDEC0C90E263E5C0D808B6ADE7B3ACFBD7660BED8E34CA404B3
-B6BD735D54C5849C2989DA465A1596A7AC969B36C7C853760E3378E30C390A26
-70CDF3BF6664470DFF660F8167C4BA6E43F3E62CE87575CDE5444067973FB777
-93831D8FAE927894EE42972D6E
+D49A6E55D88E47257C1FE6F4911D337E67499213360B5335A69D75C6768FC2EF
+3911057FC30AC0799341051A4ACE6DB12C707C05D2FCB11CA7EDDE9E2AAB5DBC
+4BCA8E72F2E4610162A87B79319A53C8E6F6536F127F063A9F928F68183009C3
+ED472572C46C4FC7A85B35C3B72D9251015CA6A76DC4A7A60A8036B88B9E0E73
+F4C10B6470ADFFF340F0E51AB5D3E407CB8F046CAD06021A84B208AD2CCB1BC3
+FB5F1031DE9D3D3E3C1C7BDCEE5EB5CA46F31EE847EF6D456BBB3FCC564594AF
+E4683E5E8ABE43EBCA6BC190D257CAA8A635AB0ED3E0BFFC30A6857B57E024E6
+CB7B990F3AC8EFE023444FC8820F8FE4472187AE8757D098FF45D63895A14D95
+E10618E257020D5B309CE2CEA343D32F1EF13FE4C9F1D5211F0E72BA7058837A
+BAD2553F41526FCD34EF1D7EC7213FEA56C07BC87576062CCC6AFB36C016D16E
+8EA67A5C78A41DAE6F4D22622525B27AF0BF5BB1983BEE800EC8CF9DDC72C43B
+CD38C831C8102D4CF7B1D033CE8EDA8F000F73BA92AC85D8542CA41BDC0C3A39
+D91FE381D597D56BBFC3469A3AE9B6386D2232AAE7D1490ADCB37DB249B9B1CA
+9742A757ACDF8EB5C0357834C311C1E33A9CC5ACE310D38246758FD617ED35C4
+87D905A3D7DBB0C29B1226F86AB0D79D3DA67A41B53E98A04F628E899C916196
+60BF79D0F3F120AF13B027231A6981CD3FAFBA95214989632C1E5BA1B7196F3E
+12193D0C8C613BC1D738C33D7DF09A18C53425C0D52EB473FBCBE15881AF11FF
+7B47369D303E02F56CC728FFB9A27A0BBFDFA74CA083C4F9425ED6B327F172CA
+1006B04FD0491CBC3C1C2268A855DAE6B8BEE2B0D218A117C6F68119B3337815
+5828912BE43E2A550817ACEF4D9256936DC42E0468DBAC40BA0E340FCFB0AE82
+8CBD80115D4149DFFCD71BADCC8D6EDCD4588BAE4CCA677A550AD777C3540DD3
+276768717058E91314E2A24526E70FD68C659BA4E4E17199D99E1DEB990AEA0C
+24356D60C8C5B23D06EF00FF1FA2C43DDDE42A6BABD16EA0D8393849FBC9F282
+A71F1881199A2D5D683569F06F7556F280686226DBFB04191757ABD357511EC8
+0E0BFEECA88564963E74FCF8252F83712DDF13FC9158862A73C02C94A7A96861
+45CAC4C34681C3015B159FA339D3A2BEE6D534DF73EDD9E5B08704AA17A82D46
+190F83B1BB323F72FF3AD583B0031D685AE00CA0177B7C1C0C92F29348906D09
+3744EB3F41B6335ABC256995E0CDBC7157D8EA5053E4F3FAB080F683A7A0F503
+58A5D5799B168F1FC66DE284DBECC73D5126FFA3B58E1C16ED5323245433B660
+1C528C627D2800B4584261351B3683C612F03061D0A0117EB35CEB08EE77572B
+C00D50988A7D7FCB18E3969BDB3D70C9DD3C37CCE783D83FA0A50B02855AC756
+F680B24F172EABD8A3EC44D76D74D974BF5A262C5F88DDE199C31DFC95F9727B
+8314461230758FA25324855C0C4B0F510637FDEB169D3C02A4E18FA0A8895325
+B781613C0C2218FBE94C1D7C985DCAE6226050683D8B8EC4BF09B0BF593AE648
+163AB89362BB2F95060FC70EBD344F5AAE4FCCCD6453F2DC83C88B786B24AE8C
+883CFD61B1781ACC6AAA0D5EF17A41CAC189AF91D317BC554FA5B16170C83DAA
+E8AB8E5956E8713E0226410DCD14AC5FEA370CD80EAA88B82C9D93EA2A7777AD
+594E4B279CC01B069C20FD6BCEDBD1434A13BA4ACF1EAB20381FFAB057F0B8DF
+4596390255D023A1A63535F915D6E24BB0E68DEA24A7C4579D0F0CB48B3EAB3C
+A6AD5A0D74C0A166C76F73BEDA87D9A17EA216CCCF20BD54A5976BA779FD537F
+7DF9A4DC3E8F3371A09CBB4FF3AC3BB9455D357DCEE9D08FC831779239F09E0E
+E8C2AF003704A52C461868DA9422F9A9498EDC8FA643115B163240A9CDAC20D8
+A588E4DA6C7B5A2AAA65C48C39083E38804A3A460D7A33B929331C2FD54DF538
+D76E60F7EDE85EB92FE7C2AD21438BDA817000529C1CBC6C7E3D362EC6CEFF3A
+BE6CD74ED0FE8C3C3D423C1EF912E829A0B33BB7F5A2D6CCF04D412C10B6E74C
+052DF048CA870454846CE52F1D3AE83966584327896343375E9AB2EF70EE6074
+B870BA4FDC01DEEBB7F17266C0068129E42F8AE8125A67ADF34F14DF51898105
+8A91511CC942FCD00703502DF919AACDF3A453B4588986C14DB3C504A46EC039
+86C2E62F9E5E0DDFFB5DE66CD2B9E289EA42E2B760552505F2B77A0C18F115E4
+5DA12CD8233D65D491EBB48903DB4030B1D69C0BD1A5670EE6EA0984DC0683D7
+41212BEFA724B9C18799D6C469D6B0520571BBF9A3E118511BA5450E02306767
+1362D71C408AA78AF9DBEF6AB0F17723D0DDBC56B7D229A1B162B4373262B91F
+84AB6FD9B3D14B0A9FFBE6C3C1CCEFC78C544D2D81BC8E490E376F0A1CB18B9F
+F6F25987BDE5D8339B65DCDBC16FE18EE401680FD8B5C9F74E23D0B54CB52BE9
+ACF744343C4C3CAA5676546B13D1FEA7AD186015A580522F1B84C1A5561DD3C4
+E6FAAA7AC993AC0D20352EF4872837551204E7134CBE79F57834CD95A49C78F9
+BC34AD3765DBAC2D353D5A2BCF77409D4B6631162A0135C0A19F567A1A2C363E
+AF4C25657D5480B105D0512E9FB8A585DEBA0300F5C0E7987A5715B36FCFCE4C
+9B68DBA589AB762EAFB80F28CCE381609B7DD0687207E70CFFAEEC81170F25A7
+DE795B194AC5AFBB52513EFA7DB3BB4B0B3FE11E78DD934D0F6E2D49B3E54ED4
+FE9FCA2A6BEA7A955A0607292E00EA6005A5F831FA0C0A4BAE7738F01CEF363C
+DDEB19AFCF32EC096640787448172585B5D7C8AFD3C1FCEFC7FDCA1F522CF207
+25017E3A08A65042BCD26F0BEDC9EDDEDEFC55C0351B2C76139A0E1B9CB92445
+B7066D5EE18B771FCE1BE21A5534595623FC44A605F5F30342005E1E6F0E3DFF
+28DC65D8618806C9AEE15715275D33E0C850189567DB5B815FB8BD2AE506B357
+6897D14F6677823AEC001879223EA953814CCFEA7B56AB19CE1F3D1FBC95AC39
+03D0E00012E9B6280ECCEB603ACEA31754653B0C8E31FFAF63B40E80395EFA13
+36EF311F80B77A34E761E25A520D62B358B8D66269CFF89676400B76BD1F598A
+00658D8F8898673E597B820596D2EE29DD772CB4A7F3F69E2C4AC7CE073F741C
+B875298A8D981B22EA032AA753E6451917923B7F76F0056410D33D34919AABDD
+7954CD0353FD277AE99D8C63831A25B2B1F1B6A7547D0DD0CD281A825C0E8BEF
+33342657B696CCC5355E1E4BC92333B5B8DE4391FE3C62A91282AD3E6F15395C
+DB1657D0237126A51E5E7B4D3A50E11A3BDD1B43A14F1B3AF2820F930BAC9330
+711054970E2B195E0127C7B8A46E52D5BD4B9126B539BE6B4931A095B9EACE01
+9DD0BFCC7C92D7F9890464BCA465F9713E5E915E1B366DC984C2E2FC92A86ABB
+2E7B323F3081C65CEDB50881039856D5E6D84C50386CC4BFF83A5F2F2796FB58
+FC3905E0DF503FE6A961D08FE8C988D06D7634891CF9F30EC808CBA02AC55601
+D8711DB3A7B0931DEFF21E54D842D4DFE1335604A28FCB0817841FE8D7EDB698
+81FA6ABE582B481DB43A730FE4D37B1B1A4BA0831E455D945DD0191511A04760
+B5C4DF361A418C61475C16FA1DF391F2067F46C9018BB965C29B065015B54239
+B0C0F532C04182C6CD3A8F8A4EF80A99212F584543C9F70A0B5E7F7B3BDB252F
+0F746B970A3B0C1F75FE71CF52AE3F466AD9D0D320E2380B5D24AD4ADF9DDD4C
+E5C896A687135F23A87AE484383FC955F34E8FADC66B06D9E6BDA67E828A5601
+BB98462A30A18B6FD34AA4F5D3F356BE0ABD9F07C61B85694B027A702A602DD6
+D0449C8E38C5446AFCD2EFCAAB1660AAB4237E2E5490A6FBC947DB885B33230C
+DE9545130D9268E7A215EF17CB031EBE77F4CC6C1D5E325BEABFE11C77831DE2
+A27115E58E4F687FB1ECABDB02BC84A85309794E99A0898B7C675B68C9CCFDCF
+6EE5584346708298F48CD50C390B0324BC0A05278A3747A1DFB2C71E9B829DB2
+E04AC0E2E3BBF0751A0496FB0229511BE9B25E0A70EBBF6B7B660913D4E28D64
+2E4866238E1354571F4A7DA8B9F4659AC78BE4293094C84F888243F213658DAC
+41AEF077FFACB5EC9C5BDC17C45FF7DAB0DC619E52BB0FF69E63B7067DDE8ECB
+7117943554C99CE8E8FAB43D924417FDB0CCA2A0CA916BB9F81B98D924B1EE14
+3C6C9ED0BE140A329ADCF65BF69DCE97AEDC792D3881EC91600045A1FC0FA12B
+522014E2001483BBB640EFE831DD3AD3A1505B8CF85B0ECB528F98D262A1063C
+A240FD9DCC37648A532EC7D9F74B43DA473CAF686031F6D3171F93ABB2ECFEB0
+AAF847A339114895CDBB61713BB03B5579C6E069C1F8CF7361785D661A7C5D10
+30D0D45B7721D0C5ED7B172AF374CE3575BCD4F04EC9F8316944839BB8375813
+3B89B72942A2FCEF22A32429E84DB489D0C96295E07AA8E023E2D5CC904F22E6
+9417C9CB56C8867ED65CCC43E2D300BDF1C567794AA5EB0B3A725DD1BA8FD44C
+5F8998CCFC444AEE26BFD9760E2C44387E522A6AC4A7A0409198F68F18C27FD7
+6C4B40E881EF8A1FE7AF5E6CAA73E51C6BA0D3AB80B4F17168137A57F6616E03
+EA941FE4F0CB35A1BCD965D6786C2BDA06C7F5C7BB3F5B9BDC32FE55AC5F7DA5
+7A403EF4BA78A0C31EB4A8647413888CFF79B04F55D8ED0296706B474BF28D98
+28437C6192314A67E577041D04E4BE61B01434922243FC31F859E02527E1700A
+0BF86424BFC3EE5F3521942E4AFD9AD944A061376A7A25F66C8084D70C8BDFE2
+2E517E91E3DECD4B894B5D1CF57C50E1A76A8BCCF8D85007A4F9A58BBC745D1D
+7C2379F1194F99DF103FE76B8A055DA8BBBA197D58B861D8B9B9D4D0157FB8DE
+AFD831B99036D3A66D35620DDD15CA9BE18BC3F3973C6E6D81A51B17FB963046
+367042536476F40AD4609A95837F3A8DA6DE1A5A8FBAB2531F5EA7F1B0331079
+FA0B8F39089B8475A2B2191957B9CEE8C343B3A438627E4356EC122216C6F814
+B92DCE42E85A9430284409AA4C34C60DD5120368AEBBBA960D9755A507B535BC
+C3EDCAF26171EEBBD88C48A556EDB960CDA772C82784AB19E8AC9F4909ECF551
+3F33EC3CCDFF358204929BE09FA5FB1E8EBC84F6A74786224092EBE3A1D62A47
+BBA67E4B91C031B3EAE4FD8C7DCD4EC83687626856DE32629B4FFB4B76F785D5
+53469FFE0E3C6D499D2EE41C46CEF23EFF4E830B15AD7FF8CDBAE8308709ACB8
+7E354D143B4FF4B3AE3A391D6AC26756549F88604F43F0360AAE7F7C71F18218
+33D571E860D58A64382FE095F853394643919F0C2040A986553EBFAC1AEFE525
+3F99BFF63E106A52CDA70AD043E08085DAF75D6426A61B493101A133E07E9366
+FF96FA7AB32D430FEF4A25A92817C1257BBABA10FA4E08C4665969EC42C809B9
+5BE48DD888EC22DC1F653E39E9BF8D8E387AFBE8938187A38EAF5405B5BE83B1
+8FC4B181C2D6FDE43A1D8ED3E204A13114333896C5A43087613507D086297325
+3AFB24DB85D1FC3D6BCCF5EC4FA11ED31806E3E55748152C3B4BD8A652AC76A1
+0458D7FE39F95E358CFDE75BE3B79345C23D4B92154378F737FF53C94A2ECD07
+A75FAB570919D6174A309260E469A59DC505D4F08FE371CD167468EA03B95588
+552D1E2C5C974620663427823F0DBBCF32733BFD3BE4E6FDF5D60F926234AF19
+10B82D971059603CAE136049C66127C4C8CB7D4796738F27E1486490717E8FA7
+78C30A31C92E667A5210D0191C315C5B627C2D621446E989D292484598A27E88
+07D9DD29196CCA0E5E877D3F8D949CAED3686AE87BD052F7980FCE9A828BF5E6
+1E7ED7058054B822409C074368A45E3F03EE6D0EF0C7147FF0DE79A59256ABDA
+A8957671F55AA01410897598FECADB79CB80E99A6BC6A7BEE060E37FE1AE9619
+1043A9EF80872C710D39C820555F38CBD08E611AD53077B50A4C532CF24E608B
+9CF9A3273C9786295701166D7E64C58D9F9462E59205091248729D6F60FBE4C1
+A0A28FF264329E83F834158BFEBA5A91F324CD65B4B9EED04623E5478D2D56AD
+22FD8DB71BB6A40D114F1861704B0DE5D9EF9BA69BC9A929AFCAA4987EF8D96F
+39AE51E6C6B2BAA8CD08CE9BCABB32A3F4AFAFCC1F874ABCBFC845A2A58BB88F
+71A89468323FAD90500743E9E72DE19050E0A6933752FDC8760DDDA6F9C190C8
+36212CEEF45CC0DE04876871C1CE6517ACD34CA57AF771DC8C805671CF817ECB
+BBE1316D2912AE1A22CD0E697C25BA7EE24A0B0714B479CB6B8D1022CAAAC01F
+BD5A6D1428AF6B0875D6445E259EB66FD3A47196331A69841B98D06E54EF2DA8
+899181BCCCE8CCFE9A22C915AA838D56FCF04950CBFB5F03594593A892EC86CE
+1D4FD6BE61EB9E071F5CB8B84C006AFAC2280C94F6F45A38E679A644B7AD75E6
+7C6BA911A36D27E29518B4DA8FE405CE8062D231571A511EC8D3D94661B61005
+ECE6299F32778DF7932A98E428A7A3FE1314D14974782F5A2A502B26D233D2EA
+EC6501AB6753CB36F8D8F13617D42EDD278F267A199CACA6F42357B0429DCF28
+FDAA39CC086809C81FF7085025CD7F6257D84530905D940D0FDF86F68DCE1095
+61D464A464E13D4BC4693E71D790F7DF7A63AD1D2E416C243C95DFD172501DBA
+425C7384F821941EDCC7B2DD3B7BEC8C8672D9ABAFE8C9F2BD352528BDF39CAC
+CFF1288399C833184675F3646126CED33AB5DC940C770DCCAD487BB9C21A61BE
+69A137EAB4944C347702CE89CB19D9F1055F8AF4A8AC18BDAED6E58B9A247F1C
+CC8674D607D47B21620614C81AE2AFEBB8501B76198B32FA10073A25CD95F2D1
+C9F0284FCAE97DFBB148D3D252ECBF074DFC9D5CFC6B779BCDFA13F2CAB5AB5D
+43B2309C9B0A6209FF72145C6A4935B6008C9B4F20798351A7D16CB131267A07
+18F07AF3E228F06F2E3FE113CE403405C846304607ACAF8BC325B61939AB259F
+4D8B475A1DCC2DBC7EA5B873DA91AFE9CAFF9383EC1617253358C4827F2521BD
+FB90BB9D2009D43F70DD9D07F7EA2FB076E0E584ECA5777B8519D337562AD458
+7A53B34027824D208304EBE3C78AE67FC45AD1566AC66BFE8C076FA7372A1F91
+68570980750CB87B7F9D724658C5069BF592117F1D7FF3C3AE4E632739804AFE
+1DDE7A004C9C4317A9CD407BDF8BB7C393ECAA69ED356B5717FA7EECBC184110
+709B009BBC2F2357F20D51AFB9511EBD3DB1F918EBC97787DA4C314943B6C9E3
+20890BF7C72E4BEBB411FF0D16D561B17CA6A75588E691A1DF13685CC4CB9AD1
+4928BDF343E66D9EFECC4C2D194161E34A48E3FF21348E6DA32B570A9DE018DF
+2ABDDDE58F0897393EE3DD0666DD73E877855F6F9F36EB064C6667E90C505256
+125D290FBDFA19A5A3F503A555BC0482B6388A8467B787008012F3F65E832CD7
+A2DA552E6F326D27DF2B86155043972097941AD807D0A1B1B00827E604743DF1
+73D7DCB6B4F5FA7F271C01FAA0E4B8864A919EF4E643C8313673F0C98AE34636
+B9BEB200C79651F0C6C790048F98F90F67F595221B9182F5F70FD068D927B694
+EFDFA45425C645EF71A759D3DE2F2C46D351C1442208A4A88D5A569427E769C4
+740220BCD27118A4EEC0D8AA29C6638B5AE57D27FE116D2EA4D82342BFDCF3D8
+5BF1B2A3532A31D11C69247D952A37C2D8F1AD3DC4315A0B65F19E3E7254D35F
+DD3B8E4843B7F85AF9D16BDAD231553ABB43A4C8518F4ADFE6DA2EA9016316E4
+7D33F2C09AC97544E68A2C9986D3DC2F46173A4696FF0E0DF7CE859EE046F1B0
+698321A6A97F01E3196D088BBC3BE4C93CF5B29EA29CFFD97547D338DE429CD8
+5569A3F2C0CC05083479181013BCBE155A5A7BC3805C5DD851A5385CBB761F5F
+A79FF6DAE5F578471DC386D721E2A988AFF8858A4672BF84D30E1446224E0506
+97ED5BD2F5BF6DABDEC5C2E99E68F04D2E1CC7D34951734AA040E905175D2D17
+232D24C801FA83C9545D4EAE8355FEC30F6886D25F7FBFE2C49104DECD3D8EEB
+1D3CA42A7D63B3516FD6BEAECC979DC1B453AA618F28BCAF464AAE6001554F40
+DA5385F2264E6F2924DDD40EF3AF528E578DD972F057BE2AC2D363A9582153F5
+1A2AB2F160275008B5C1A733E1CF91AFB5656E80349D99476036C5563C0414E7
+BA46B54ADD6D7E81A653C03E55A1FCE29DE476F1A9841E2D767E918D7197250B
+005920189B85A3633CC754878A3D098D82B6148A0276D46E16E8BB4952ED887C
+ADE347FA8F9FCA32AEC937244693A52F7AA87A34F10F68EF0BCC061E1D502A38
+FDCFDCDBCEF8477CBE2A677D24ACA43DCE30F63D6378E88F81EB858C1D97E2F5
+06679B27CB4468BA78AE78C7DC6489965FD6E3F2D4E99E0CD84663740434852B
+965C6FC07112D88466E3832D7266BBA5BA5148B4E2E1AE80285FB51C135266BF
+D7134166823BABC20DB1DC0D5646F005EEDDD035E0CC528A91D44D3C67B82C0B
+20724A3A90BCE37B479CD555DD0CE6969FDB2AFF3372C14029BA1A956D244886
+53773144244EFCEE75580E813A82A44886ED38D5014A597BD279DAAD86D401F8
+C6F8401E8B53EA12B65F1FEA68A7C256B790091BF80FA1DD518DDFC09FAEDB32
+CF02D6CBE4A58A0601886D4E9D0F8208846BAA9FECAA7C0C343A6BAD8C07EBDB
+53AA5482270857B6E6AF3AEF66026A0F1BECFAC6DF3C9844AC65EC6570A18021
+852D083D4A940C3F5FD0E6312A8A71587BBE6373AA5247C178D1EAFEA43D563A
+BD4DEA53AFA9283D1923FA8EAE2692CC4A8E74A754F4940B4BE72084348C2CFE
+56AFB77063C0BF46D8CB0928EB14E9E7787BA2A54A629C4B862AE421133C6F75
+F0EE3326614C54A6D626BA6C7F001A1F68F5DA828CC3EC5C9F27F07DB5959CEC
+E2A40AC42C501ED9849B5C34A04FEC8AE7B7A1C9004F659D9EAC2BE3EECCFF44
+F96FC24EF5645071916F84E4C2CFDFCF12EAA8A6553B99DC7221A07CCFC29713
+934C1617D32DA1554AEFD1F9283D84C2BCA9E8BE820FB799CFF5EFB354B2A057
+28FBD6B4384CB197A0D25C065A43B5EA52AF49844DA1F19432435060DDB92A21
+D15AF8F2277B570A90D73D492614A22494263DA5906C2B6A7B08EA0D4D3612F2
+95719DC1380C90522D49A09B5ABEA33C5626ABE717D7B159382621C4E1624014
+ED61BD70E715F7CF5EAA33475DA5D431FEA1D2DAE95CC8035F4DBBA3A867A0BA
+2E68E4D9922596C8F7EE14470F43EC00A214A608F6B3FD2A72887F3F41CFA030
+D7D7AFF9CC77770D1B9B10D00DE4944B68C693E456A2945B5C4D0B5BCAAD387B
+18175908BF809328ACBBA126CD2258EC3FFF4E7CEE42780E26927310279091F6
+7C57E373A98619702E72B8BB75F1D9ADFD262F155EB94C9242730DE2552C2E5D
+B057C4EB6AE53727933457B232D7098D5BDCB4FD89903BB71F71AFD9BB7C2999
+13FC43C3916ECCE867BEF659709E943C49E5DF3A735B7A74C11861E722ABC0A3
+3C23710D0BA81F72B2D8BFDEB16481222570897927D3FE2B7480071E9010B591
+019A5B692355F60262D84766EEA29000CE84A5926A576EBC6E34B426710F95DD
+0CEB9E4BA4AF6EBCD187DACB3FA4D7D73B6CCC49880A8BCF05AE39DF47710738
+EB367A513D3D3049D100DECCA0B5C77C676370FF48EB1FA4F063138481D4E80B
+77D8B6758D3AAC93A84C715F80FDCDBEC4362AEF531141E58DFC06871E7F5A37
+E9932371CED658C8D5C331990B35C98602B9ACD405269A09B1A4A1F58EC0E471
+D3DEDC0FCE2A82966F8457E7E104C0575042A0CDA955A6544AD53603E6681118
+3607EDCFCADB07A71A151D6C9D267CD7397348C0798ECEB6C7C758ED4909C1E2
+B9C4A82E5C2E15C6BCD77C4E880DDA1943CDC6EF1E88DDF0F6D5441F0433C432
+66DB53E0B948003B0F4F5C49E4C42CEEF6691E48AAA1581FBFCE7D950449DFD2
+306725C8E6DA5E51471622968C299D6263D58C31D271EF5BA34D5E04B5DB1F3C
+AD78EB9665F3F41EF4E621D54DDE171ED468AEFC89FCF9E02CFF63806C62C777
+FBCB384A000FD7C38F30E6A651BC255EED41F72B9504D75A1C369875B313857C
+0388229198EA169403F8DF7A9098C8F533D6726EF2EECE8798242D2D78CCC202
+4507F2AE183E0D7696B3CA52B37829FABFE281DCC3529CBD043AE11E0FF97267
+6794F8AC762F20D4B1B331A43F6881EBAFE47A19D78BAF92D82BEB3835E01FA9
+65178B918BF484EDFA781280F78556818C8378574B8530C0B4EF4F7BDAB5488B
+EAC6529404A2B2F43079EDF2E6BDBFE90A7DA6C34C098E988B717C2E9728AD1A
+A599B8F8AB4CB11E5A50C222AEF768D58E8BC0B3AAA1E258AEF805CD79CEB685
+6BEB4624F10E6A5590D5AD9C0256CA5D20F403C2B26AFFB2879ABDF2C7A42861
+1A0A171E67D1FA8C23A36B72769949A4A0F185A33F351D62B9526ABF185BFAC4
+58B194FC02AE70CDC61687D12F62DC4A2BB2D4B577EE96E1FA4DCF2B2354158C
+DC6F861C75359D103F21B0EEC9B0E90D14D529FFA3A0BB7B61318D1021F5839B
+DED9D93BA906ABDD7AECACA8D1F91D7D583337139B29D1ACBF214E2B083BE23B
+04520C95A96EEF56F99129C4FAB0D02CF4D8637D7F0AA2216F36CDF62FF3F38D
+36C34DD0F29D7172AFA94EF9686BFD530D60109374363AC14637FB7683449DA0
+AC09E3E9442B9D2A09843428DA510217B5424E7F03AB938B7546A936FAD87E91
+80D1DE0269F4B05CD49956958E13B049EB8F8AA7AD407EF14ADDBEA91D8491FF
+DE2F38AFF251E53B08F7CC55F360898A842F8AC11F70FFE0309317225DD34849
+E1E98EC87F0881783074F7A6628A2825E7EA8C777D7F82008355FC3D207F0AEA
+BF98834BA7DA46FBB965F40660034BCAA56F5A44786D1FCA16B7D0F4ECC6BEBD
+4483D335D2A38DBC34BA75897008B283F94B7D48BAC5C0847160755CC85266F9
+0CD1AFE3886A452F512BC9197D66E4E5674E842CE0F7487D459E7FDF345E80A0
+31DA40B2D0A4A7D464A3185805407019C234A3994222444107487748B87D8077
+83A9913DD5D4D9A3DDB2F28E2327AE157603C50C5648CC7B0329F4374CF076EA
+D98FA206EE3F92DEFC9A9B9A122CC8524EFB5FCA9ACD46CE922C80E4AB50150D
+BE1B3FC7F7BAC4FCC261E825625672499F692AE35C1AFAF556B7BB90CD3FCA30
+BD35CD430BA50FFF19B24C50813DC2A86AF4BFC003AB3A6CB9878D365789C410
+FF1FD552ACA911B48AD65BBBFE3A0737D3269E5ACD888DE56B9A9289B0AEB017
+7D4171F43FDB5342E82E6E57932774BA3F1715574C1B7E94CBD70E36663C35C1
+7A80CAD7762D681B4F97898A253506BB5DE9B2E4E0D2F38AC2E72D8C61D33A73
+566ACDC33A93149468E94775430B4C22E62046B1CCFC37FD8E4F1ADBAE43524B
+03A137C339675738A622B458FD1AB02EE2D98FCB490D864B07F6D9F3DAFA5E9B
+F675A8E1519380D429BD784E98659059D2D63346C7DA277C16B79835D287774D
+44903C5B58583A6CD1C6E4D2A622F0754D7FEB0FFF0CFBA9D35AD8C643C28747
+36552F4663BAD8986B7F27D448C41780C885BA62516FCD0395A2F986E56AC9A0
+2A7AF47210B2D34BB4779F9DB2A2D7193CBBF9A98EE587A6EC3E0917BDCD5F7F
+B62DBA1A5A354FA5C299618733AC3E47AA15F65A87DC33F2320FBBE3E80E17A8
+5F7638B7BB3AA642A0B283E4301E339473ABC28BE7B2DDBF391393A140F52352
+ADA3A66BC83FAB5580990B1996FD91B9053F2F05484BF517993FF4454FB1F818
+4DAA797AB7728388CEF27EA13D09D26D95000F540C930913B9D269D13DF72DDE
+07D3580C7F8A74FF5EE15B3530D6D5982EB54CC5213B10008C3CF6B5A81EE1C3
+BD842885DA8F5E83959A8167CC43F71DB88CBEE3F4CF0B362923EE4C94651DF2
+68493D28795D46414F3F4689AC9D2E1494564AE0828A4A827202CBF2EDFF6DA8
+F5AC990EFA0CD748D40B71EDD615ACC97644754CDF328001E17EB8A464F61FF4
+B47DD8E871959A851D3C777D0213F185E01FDDD70919F1501E9872DB02D285E5
+232DDD002F028D3A4255A47F3CADD92ADAA55D103528911F7827C246334C1CE3
+033A1443385A5A0C00DA3968791361A6FF0161BFA96C740AC0A50CA55E9053FA
+2DEC34F11609EA462C3316080E2F59E4D1BFA87BAC2952BD1F7604068A0299CD
+26A3973EA9B2064426500F2531C17F4D13C80B1A16979208FF9A3BDD4C06440F
+3313C17B34E3940207CF8B041268F9F73868D61EAE92E22E9C11E8F086AB915B
+30E4B3B7BBF0C94A9FCDC891821185BAE694258D1CD40580DA64E52CC32421DB
+F5969A11E5F1CF514CD4225EC56C64DE47BA9D777F9592D6B123AD290B91797A
+3CDE8F98054183A6372C4DD0D45B42B1F91836CAE5F80AA677CB8821C15C7946
+EE098DF7F88F65700862036C29BED3D0684EB3E5160BC70BF7F0660299AFA859
+AF00CEC43B560085EEE87A253C93EE8112B55BED9E9D61830A3F5ED454557641
+139273E35C56842F245790661B6608F690AD522EDF6E475792A497D2BD96FB8F
+69DD4D94DA6EE3B7113C722E4A759C55614A80FC7A8796B4302D9C4558BE5563
+C6334761FBF5F9CA65B9492E4D124ADE2CB93DDC168F711F0AB6427D69345D4B
+D3443033A0D131E2448D0F44B7A26953E4AD5AE89FBB120FCAEFA91D438C0A0E
+A7DDBCF2005EA0395D2AF2F1395649EE57E59DF8AD4F7928A14E490D61686A9E
+5DD49038C29797BD8245C1F3BE432BA52F406E28AAA2D7751CD242385AF70770
+96C6372AF2AAF01C99BE5F3FFEE6F7D6C832934F199F184A4F692A147EB28088
+5D6A6CE65FB6D820930A1924C856A764AB673C95D3119C89375CCC1FB42592B7
+4362839365DFCEB99256A2BBBA113BE043787C99A11086428DB3AA42277B5918
+28F6314ECE036801FA7FCCA8895D251C2DD80D10184DAFC2ABC59E439A38491C
+2A42FBA5480EF025617C24641E7783D0D27DEF8D884CBAC048BB7C88844D235A
+48648EC1833643D760FDA52053428F1B12A32829E8583BD64AFA67E75F1A4F81
+51E25F98FD7FDA6C5F6BCD212732B2DD1D183E5F5D891C034087E242656F3C4A
+FA688D410DC3B5F96A95AC86B180D724AED48A1A32046BFD04C5C45DE9CEB5E2
+122F63BBB3A0008362E89AA6DA01DA04873635B12466911F6000331F2C8B2B74
+CE7E520B73C20BD0EA6D941E37908364C2FB389BF7A0DE63043FF7ADEB4C92B1
+2ACBE0EA8008227893905A499D413F25073AB5E7A0E34087A83498238EC65583
+700C8AC527CD2DAAF0705D4A3B166878177AC2EFDD28F42A94877AB907FE87AE
+4E16CE40A04F18486F6AF0436514368F8E25DBFA6605EC307E817D2A80D649AA
+9B857F2E3D03BAC9EFF21C6060E2626A5D891D34A68395489E99426AEF41B9FA
+3338A2F35C705EB5C4DDAB5F8BB2B8F90976112D67511F84581783A372EB6577
+1A40D156CF630B2B0224269AC6C4DBEC0CA50F33E032738FD04342C882E0DF11
+2C16D307EBD953E17286740688C62B1F9F0AEEAA46B1757C61B55899E0D01363
+B558DFF416620CC38AC8897F04D487F59E82D723860DC6879503116EC59C734E
+D26E1E63BE2CD2CD36D695B0F77E5E627AC2C11E98CB5C4060311149DE95D35A
+BA496B00DA093E816D10E849372106619C8B022826E88F7BBE5B1E10FF3A2050
+2E6CA4F9438C5978F882B7CDEB3E86864A5144A6695726B6F9BE7A59DE774651
+A010C8F6B2A03D496A05E2F68F72FBB049B06BD01CBB0F78CD08AC4F0BBBDB2C
+280AEC5C951785957C5FF3F27AB4EF97853E2C41CB9996917E712BB97AEA00E7
+A25CDFAE481D2ECE1F8E7F4DA061DED765F0883B9A9B75024C4EEAA2F3391517
+06D982558DD11DCE7EFA51EF10318F7B273624E08F44F1ED23EE5CAA795F0585
+C4FD1929466533529737203B93513BFFAD7330D8CD1F84EE24B7B9A03456E4BB
+A6BC7BBFF237AEAD8F0AE9F8667999E1AD4414CA3F0182E3DDEAA76EA850F7BA
+9ED33BED11A0028FCA6D133F20B7094FB7AB9A8793EA9D71E862BEA5CCEEFEA3
+0178C6551C7CE142F289C7DD064957C1128E3B8B5FD449D8B6213C6A0E5B8DE1
+064D4A804B113868C9CAF482CD8176E10C2A445A780C7EC1E233BC3DE203ED32
+75DB325A3E589900CB7337E87A3D76C73F620D9C54B26AA2473F4DB6BAD7EC79
+32C3B2D40BABCB24B14D416AF96B9C54C7BB9062B5889B1C6B59E3431CE82107
+62F2FD17561061B2CCE3E16035D06A2A8BDCF86FE38C7CEDEE8A1ACCB5AA78A1
+3DB988583C7180C6BB12BCAA97433D5BACA552332B5881CCB8BB16C0EA512105
+7EF1EEF3C92B7DCAB059AA8C70B8DCFBDEFCAD39196A8EEB763C61F7E89E9A43
+CA3C10A8F847D038E7F6A400A5DF890E3C078F1C06029475A2E9CAD8E6230916
+A7DE714A5537A720C0B17FB393E712FBA9B62144044313CE114164F23CD87013
+086308CBFE75D2029599B0D6512C59721F6F6E574D5E7D40825879A91FEA2D19
+C3E3BA46FFC95AD0E597BC61A5FA8919177F6E5A8C94176132FDDE246BF4CA60
+BF794E610E8427A6AC0EACC10BA6892CAF64BFDBB9DDC550B8CFDDD0AE009C41
+523A1383405BD3545A3A3ACBD8D6F661183B769FD20B9407C3B99B1057B171E2
+E2425B2442AF944D7AA280490787E4DF6C661FE9BEE8DA3CF6032FDE6FA451EB
+CF2E523EE7BA5C148B7915FF29F1E5A4390363AC80D28333DF5F0943716215AA
+4E399D7E97AE759050C591BADD7CD7912DC1B7B47715DC5F532DB81BE20348D4
+927B7FE611E9C5D02AE5F02986F31B612A595EF028EE5F6D06C3E9E1132A03E3
+4F4107E8D415A2ACA95F21FFB66CD017BE21DB2CCEE6BABE6072EC7A9D2E14AC
+4136E38C5E7429907DBBFA8A2CE07824C9CF38A54328FDEF8B9E68205352C8C4
+416A974373D9B855A78876319B77C1B49DDAB3AEEE80CAF2DCF53888DECAD3C6
+A7D7854E395B2088FD18A9E8451EF5C3D34F7E929880C942C62C368DC7BF7E42
+2DC301BE4D14A63250A6445543601AE251C4D6011B6EF37EC04DEDF937113E83
+8C74FF7681A14CB078E66047ED7286C099BF3ED292BD79521BE55D01DFE0BD1F
+0D4F0D8C20D74BDEE8ABA50B742C2B9E30519493919EC74F6EE3BF2AB3088CC0
+67BDAA2C2CB3C238CB03C73964FF1E1E21DD87D83076DFE44E5DC5343BF96BB4
+ECCC2A41EC548C26266B80AD43A9DD962B3CA2D7AC75CB73678EB2847C3F7363
+4C42A172D12FDC3998046A089891473C1C2948A2344580B6A895D64B149911BC
+F0AA3639E19A5EFE027096FBF80345624C8B4F4D1F832A707D940B23778BAA30
+BEB3F169180AFA97503F196520A27B3D9C0F6698D666D267953E3A17489BD485
+372CA57F5E5F29FEE3911AC1C470235041D6BAF1BB8F2A2C4E785AC326DCD91D
+6F1886A48AD63A5E80BC176E884F3DEBCEE84D96F2CFF3BE5D0016F78F3847D6
+C2835B98827D459013D3548A5C47452501A16E73C03C78727BB264EDA6AE0F88
+9B8829DCBB434B1A9CD43D918B31A2D4B3326877E1669FEBFE042AF5AD7B65F5
+B5DBEC166F3256C13F8A9F4FAE9D324A0F3A2646ED376F5C25525BBDA0A0104E
+B73770E9E47C9D7B611C89CF0550073F5FA18FF15073D712EA0310A4C17141C6
+4EBC7EAFCD6C47EADE4EE1FDCC8FD8E6534E91DC10A8A57E98D79A3312552117
+BC956D6EFA1B0B125DAFC9D4B31FAA31A10878A783B260069DC0B8AB57AB83F1
+CC9E36CE68F6C9C1034E6F8D676CB929C7B8B0503639CBC25BDB8A8F550223C5
+9EB78D1CD62430AF0A62EA1576DAB2A0D7556236A1CBB38480CB7BDED3529C90
+609CDA15C77C3470C20881709BF2510BE8D5B72AD063921E365E87C11C72B0AC
+5DC311A7117F82AEF47B220D70D4BD8645A13665A86A9CF9BAE17CE4553E2370
+EB5635F7F76C410C86B6C397BF37AC0B3E175811A923B6A98C82839F5ADF9DF4
+D036CF8CFF083CA85802F8AFB9B5A91971A3DE0F461945035F78DBCC3C368582
+91279A2AAF385A03AD8053740BB2A64EFE4F9806EDAB1C0E81
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -3693,21 +3092,21 @@
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
 %%EndFont 
-%%BeginFont: CMBX12
-%!PS-AdobeFont-1.1: CMBX12 1.0
-%%CreationDate: 1991 Aug 20 16:34:54
+%%BeginFont: CMTI9
+%!PS-AdobeFont-1.1: CMTI9 1.0
+%%CreationDate: 1991 Aug 18 21:08:07
 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
 11 dict begin
 /FontInfo 7 dict dup begin
 /version (1.0) readonly def
 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
-/FullName (CMBX12) readonly def
+/FullName (CMTI9) readonly def
 /FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
 /isFixedPitch false def
 end readonly def
-/FontName /CMBX12 def
+/FontName /CMTI9 def
 /PaintType 0 def
 /FontType 1 def
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
@@ -3715,195 +3114,447 @@
 0 1 255 {1 index exch /.notdef put} for
 dup 0 /.notdef put
 readonly def
-/FontBBox{-53 -251 1139 750}readonly def
-/UniqueID 5000769 def
+/FontBBox{-35 -250 1148 750}readonly def
+/UniqueID 5000827 def
 currentdict end
 currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
-B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
-AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
-7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
-20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
-B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
-68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
-D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
-26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
-F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
-77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
-BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
-C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
-30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
-148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
-E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
-E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
-337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
-0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
-472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
-A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
-35FD4F5CD7C10D1AA982C30AF9DC9B3B22747B32FDE22742D5E370BF56DBB99E
-43F1ED8DB32DCA5995A24ED64B47DFCC63742DBE5F02F769D2C65ADC78730E10
-735FD6FEAA5D24044B6F8D1A114634BFDFB52020BA2A90461925EADBAC1FF4E2
-FFD8DE1AF359FB85747DDDBDF4577ACFE6254ED56BF78CDA007E0380A3CD8BDF
-B73FD2AD6AC46F6233592DD1CA06DACA2DFA63445C4EC9599489FE090FEE40EE
-9A9AA43E56E92B76926884F909F6A38DEDA3A1562F474CA2051A4E35146543AB
-78A34D8F917CE2D93A4A9D51B55DD2C9586F3949343090282988E8E0A7CF5651
-BD91EEF0DD71C6B1F4B0A9B21FC047729912FDB7DB8DB1E3331BC00A7D9A5AC6
-904B6B861202CD189A7EF310A9CA1D1488E189CC8E677A7287F841285C289DF7
-24021EC39B9E948C791233F3F74935B03EEEBD89C24C97717CB42E7668A399EF
-A6D8363F0AD023B7801C50BCBB28BAA7D6002DCF1BFA0AD0303D8837BC034D06
-E15989DA4D82AC30CBBEC5B66657C47EA427CD5CD9591C478678306ED9FFAC2E
-84B4BF48B6A089D1CDE2CA10EEE191FF2A3727A230E8FFF74C48C2706F2B41FE
-1D985B7B54676E411E75FC00DE787090BF39C49019CA771ED796C700074F2F35
-793DE3C19CF5E2AF8BBFE8835614D166E1E26AEF6B37C8E82BEFB1B1D76A1A91
-DA27EB887BF9E301DF919A020F6466A9DFD55BF35521F270349ADCCD13956957
-4EDE2D1F89116EBCE2A21193D14E70908CE9765BEDC3C5F1391D72B506AF153C
-DB2564BAAE504A9F406F551769D71E2F0DA7FB37A80936923A7A213DD8F539C6
-5AE1F1E880C7B3AAC75C5987407F41C1F3B67AF3AD2BA8553F7ED0C9504CE206
-F77B4FF91E65710F4DA0A1D278D27FF96A8466143D64D9173E511B1B1E96B671
-8610881E7933C4551AF61182A587D674848C85D49CEF70FBE50738C4D48A70EB
-1CAB00C5F13C6754CCC0C5ACD371D678AA03B4C05A096A0427F0575FA36EDBCF
-715AAAC454D71461165521C3400A2D91EBD54165EAAC6E12B9D841FFFD1E215A
-BC9A8E32423D86A01EEC7A28EE8D0F40242F543BA71657258A20BC85E5ABADA8
-42EBE6C015E5DB95CC683B5C41B531239C7A56DDBE46A563E42DA62FCABB22F0
-244F28194D98AFF1DA9F0147C43635488CDA4401BD3B31E1828846390F047D18
-34DAEF7E8E61B5FF5E3B5357EF93C1D5EF16B5556990ECB5E0D2967D4C6424C5
-2C8C5AE029850E5EC1B97DBCCDF0BC1ED1371BB087367342EDC2E2DF6469698A
-3C82B8ABECB9C1DC37E58625B9F76B2FAAF811460B93ED6EBAC7259DBDF4A008
-A2BB38416E43B5E6032364007AF9E4CB2FDC437697BDBC43C67AF4C2F8BC0E25
-0C5669D208D18F446D80FF4DED076E03F99D4959D5DC9A99C2F46823CE81B1F2
-0379B1641CDADF0D07CD6FD4AF25D2DC31A7864E797AB425269C0ADFAC8E8DDA
-E486515200DAFC454A5327D6B4B90CC16E30A6031A4D3F65A1E8A3BD89C21D68
-AF708831DF1343AE2A88A857AB60236B0033CB3712B4DD04563C51D992B3E563
-97DFC9834D4BFBCB4D210D91DC12F8ED66BEE657398C08D1B1724F06A480D23E
-6249FD708E1C4A0DF706681410BD20C29CBC89B276B90693F9139AF5671F4929
-017DAB8BC68131AB77231A8FABEF37F76FDB7FCE5000D7DEC185575FD8812FD3
-0A0BD9A4132BDFD986CF6331D235D4543EA704A3B5961C378A25541B9A1A8C3C
-944A10ABD89A0CC72FA7AB2EA4DB49E97E346615566A67732E38AA4299932E12
-E3606ABE3D2B2FA42C392DF6D9BBAC6CD51DF6AA2825C07779769CFAEDDEB706
-70ECE0B7209FBCEC3CDB71CEFAD3D220B53401FA69E5892B8B45CB24BBFC17A6
-7B0E316DE23B798F5B8BA07A6469117A3D5D6F0DBE971FAC0B52AA859250E157
-CC758C5C634E88474BDF5ED2B1E83DAB5DC4B7C0DA10D5D471083CC88F7696EC
-F4A9AF2A98206F1346A5F70BB6CACF654D2D9305D62E6A0EBAF22B833A4DA713
-E6F3ED176E47B1AE8C5594BD4A261323CF199C7C3A2E4E1964CA0219D3720A3A
-F753E7FFDC756BE5376486E1F0AEB9897A6065356586D218E2029575BE1780BE
-EED6B40B6EFAEBC77BBAD1D369010193A671BE12B9013AF4887BE21C7126C402
-6BEF1CF6EC3C7E0D02B2B1DFB577CBB5D9CE3236DED0B9CC01ED63928C0F540B
-15352F0ABDA3CEB33EB4E103F6FC7350A2494D71FEFF4143B870AE10CDEC3165
-BEDF382B6C10BD8EF0DEE3A55EFA86338492EA37891AF075617FC3E8F5079AB8
-9C7599F2C068961FA3BDBCA7298620E5352661B907B2D7144D6EBCCA6DC3E089
-35D8666F473B72BD7E7BDF0D8073458BEC15F1F6634DF1EC24A9EA8B07F8FF5C
-BF1EB93F18E14186815E8BAC357834665DC3E9F9D76FCAF72D5085E9C35A1546
-8B927AE0AF1A392B094A31E4126AEA7F75E4ACAB9B1925D8557D54A329F4ABFF
-20F8D2AAFC79BD7BF72FCECCED5761748372365C33A263CA1574E4EA87B421EF
-14EFA629D9E5FDDCEA399FDBAA7AFA14F867A5E8AD9EE7046D91E54A428FBC08
-EA946A6CE7D73694ACA1FC67B2F67BBA97AB58C528AACFD57C4A5AC802579EFA
-43A8B8A99AA542E8A2471609D02BEB92F2E51AF04E8DD61D20F938ED4C950A8F
-C466C0EA769EB8B46E265B06B543CA171395EAC0CA72ABE5E62DCA0440E4540F
-019933F59008DE51DD9271C81B395191DEF59AD97FCC60CC93E59FC126310D01
-A29457A1AAACAE19F91368387050BF7129AAAA6613C4829460B65E64C138A069
-2FCD5E0559A5A3AB1924D4FB22F3F5CA1519831F4E41C87678EFD2FA3CF3B335
-266BB07B6D5CF82D3D547BD9020DBE2BDEEEDE61F6FCDD35F896B63E7B1CB104
-C7D488B99B4A5643E1546AFD096C183098D7ACEEFFF84BE9F2FD02F98F90671F
-12A5CCB20A0A1269221280F8DF3CC33455AB3A8DC32380335F8E3E75D0DE1A1A
-83E4A7E7BFAA59BD0090F034C9FED7DC2E8C66814276FC99E6378E7BB0FF38BB
-B5A81DA91AB6474A4DC9A0E4FEB313FA885AB1E9BFBE8198417C5EEF90DDCE55
-453B3B153F4B8DB73683117B6C484D098F57B6DCA65E4C59C8B7050B080DB465
-1D07039B35DF1B3A8A4DC98A77F29DE13978D1854C4B73E8BB973AB40A4A38AE
-9325911E222702054C90DD14FB3B61289FFEDD6744F1E721A57F77D824838D9E
-333EBADED37D76CCF63CD736E5831E9C7D51EE570A8C9AD9717EEA95D42143A0
-048816FA23FAE10C54898998525AC14CD811B0765E6E658879AE7080FFB20D30
-9EAF2D838B3F1D96D51590A2A0F5D484F7548E33C549237576D5D82BC256D925
-E1138FE09B87FCB7540B3E2187FE2DE58D8FDAED0D75651C9BC188BACC56AB5B
-E7C7496C553B7714383ED3E70D6B92F14B05E26B6B0274E44C53C6A84B61CF22
-9273BF78466892B242F58AAA92C038E13258F3C2F9A57098B605C885991025CF
-9BBD909A6F93DB0DE07FBBEBAFC9CB1A87A6A6773A5A5FC417B9F31595750E60
-B50DC0A5CAECFE62543F59E96F51B0D338B7A0C44358C650553B296883CC573B
-C2DD43BC846EB197E852194A2C9835750D6524D63294BF6F4FD3CAE8D1EA16EF
-834B6801D1B081A56E405EE80900D0F6DC00E7800C396DFF63676EACD908608E
-4DDA1DC3A800B63E1368677A2B5EFD2530917BA1539BE6C648CFE0C2244FCC43
-2C1739FBFC39FC2E50875425BC64605B1FB6C37357AE11BEB8E499604036F51B
-52457B6FB29A9126838DFA068EC9D01FE8E69F113F57DC8BC3B52DE2A35CD032
-56F1096B6ACA46DF36F8CE45AEA357C1B7F6FA8AC3C4AA760BAF57B5128D6438
-21EF83DFED26E4144E16AEF1B841CA546B2C54A4EDACDD6D5EC5A6A4642A1955
-65313193EA7C499B168CE70EF13538C30C94DBE6F86FF103029A3A7CA8E0B5B8
-2D6B7B777FE1DBFB279B5E855E19FF08275FEA6A3B9A9D8E719D59CF7D3E151D
-63AC8B3436F913478D7B8E3EA85D7B73FE0DABB9D1EFE917580E2E6B6BC0EFF3
-9444C157805BAB4B00499C528476B2AEA8A98CF4A2530AEFF169786F9BF30B93
-DFD7CF3557CABB61280718C432D1EF9A4FE963B4DC8409B5B38852837ED1C01D
-E6C05FC403E99A5ED5F13E889173C17276142F20F2AA3D8F141BB5C460B41D19
-83C93DD5912F6DD150BDCDDEFC4A27B1A3764FF654FBF0A8CC9EA73F4EA270E4
-A0B7BA521AB41F8869826DF7F22074521F50F53690AD3321ABD7F5EF49545053
-F7F90E8940DF878A9308F5941680A25BD1119B2D003C02E9E271774334D6022B
-64F2A995C5EFA8AA8BF1D6E0BBEDCD698D6781E1C675E632EF7D6070EBD3A0EE
-DB0AA291E350EB1F221354CDB9B8536C2978FE6BB3B0BD6DA6B0B91EE683F6CA
-4621352BDABAEA6CC90B9FD9E94EAFB05E61B62DB5484748A7FF0D83E448DDB8
-9400308AD834C46502D605EB7E08FB5A2671E3FBEBA766CDCADA8B79A3CABB98
-195C456B136E92519068067BDEFD98F4FE4C4AD4294D5176AFCA73439EF93B03
-0BD966E6F1B2BE3B22373CDB626BBDBA1F17A78FF0900BE60BE4D5D39C4B8DE1
-686582842A732094E2F5B09D0E4C20849B103C8F2BE7DE926E5EB9280932336C
-845D9BE95F2C2A36AC3B309786A280A319070DA1FAAC6AD63F4F07971D85C474
-6897955C270CAE919F09E95E3F8C619409D01DDEC5EAB8B8C9CD1C23DB2AEA3C
-FD0E2A2BDECB96389BF0C426D9FD37ABE5F42B1E2C16D9FAD4CA60DA27078937
-108979AB5635BBD83A85AA1FA53ED7AE4E9F62836A405A47FDBB9EE9139E7EE9
-CFD7BE1F069EAC13181C205A4F31E84010727738E1AE9346B013B041DA251787
-DE232006A566ED887AC0DFC66D225FB30056A32BFF52E424F0FB5E7DE74D730A
-3B52A096A0C2C7C88ABE8487245DF995189031D2B83591B41312463C1BCA542F
-CB58F26B6C9C8E33DE5D46178F42B11B09C327B977D9BBF12D84F92C30B4F87D
-A2D656668ED80AA24DE48F60620E6FF319B2D033F228F7819BFB94461CB3D628
-FE05EF240D0A758752C0B841607140C1D8D4469AD4AB47E66B817B2D28115BE1
-57A82769E9530206EFAC4008C66DA918175ADEF5D862D10D0A27145B651053E7
-15042E5E68F771EE1C84B147FACCDD9CB249FD2505EBB3D3CA589A3E7B05E10D
-3EF0E7C2E5C620E68DF375AE4592FAAE964DB394B969ADE73CF9338AF65AA5AC
-04522F0F7054F7868CF38A54FDBC40F85E7804977E5D950F5AD1A2F66EC24608
-A685183DA6AFAAE7CF28B185EFF8F1A26814605CE4D223FD2CB6A079EB5CF7E5
-078E0AA5109C87B3EDCB1383ED7D3E47ED9C30D2AD85F150B9186B609A3DB4CF
-F79FA7BB093B8A243A5ADDD14DB4CCD8BEF6A53FEEE0FA9D300C0EFE06D7BA3F
-BC30F0F22CDE2C36F349A18759F88C7884AEEE21D06D7C02BCF93B3CD17CF374
-9C8C80FF0F29A954485ADCACFC9C45C86147CA65FC34D79161CB7C106711727F
-635D38DC5083506135238A4E750E63DED93E6935D4EB75CC149E6BC3973CF5E1
-60D4C9E8B5DC4F0A4E5B1A4910AC3AD727AA2A27DB3FB5A49A2829149A17B7EE
-AB7FC2C2B9F3E503BBDBDDD7F10BA1A12A2CB61408A23B7379FABB11624DD883
-7364AF01A37017F7D20C4DD20A32CAE20EC709972794AF7426F8CD5A92F68DD3
-C676872ED2CFC73AD91F207A355462923209B449ADDEA984CE93ED30BEBDDFBB
-EA514B2859CB8E6BEA3C259BE25E0E78B2373FD115D2DCB7DBFE1E9B967385F2
-3F784D96F6F9C6A6925BA7054E18F1753855BE9FC4390CE2A394A39E278DEF45
-5B26188A7B28F935FEF2EEEE809BA40250E17BF843E5694007C89010E24889F9
-761BB4D1FC3EDA64295F97AB77D916B02EA4BA866FE2AB03D7A0ACC59DF414DA
-8D3BAF84A16EAE1B42302A21EDC4D8AF38990B936086B399161DBDEA44CCBA44
-3DB4F66F20BDF07C9B28EFAD710186C241F716A69ACD6BBB2EA238B94A0002FB
-DA0B80801918F6E3E12A57E836614703B1D42DB35F27862E58B7CF4233B01288
-2AB48AE700C299C9DFFBA0060C07ACB8AC57031B3E853901844E63BFCB4698E4
-D1C01886850B615E42706FCC15C0A4326C26B78AAD1AA1A2DE32C655761E9E82
-E36EF7DEF7C11BA1D2FBD3085D0C79869C93775622B97BFFA8C88EC793F730C2
-3C7EDEBA218E2616F47448DA23E4B750DFD15D53A1809915EABF8953DC152B2C
-8126931CFA112E100F5F5196918A29C0BBE0D9B57B5311E408BAF5D4F69B22D4
-3330D936A375A7381E6E26166FEB108E719AACA906CF0564A621D5538F88DE5B
-EA8174D416DF5A5E4D6FF766229F6B2A13F6C99A3B813E30EC46BEF614BF7A4C
-88ECB0DE5324D806F63D755D73E000002CA833995AE1CC35951D363EB591A751
-C282B4BA536F4E5E475F32C669F2B40B30E133975A1B066B6F2E9DCCC4394E44
-0D6D73A5A1182BC6633D837432B54998EBC1B7C78F2C97ADCB68DE357609D018
-5DBFF60A15EDEC18AC62C6AF4B9084F6BD2805A3F1295BF9573F03D5F2717F49
-00E086F6E7948EFCD3F1329B874321FEB824E2757ED18DC8DB2CF6E4EC87C36B
-D9969FC3AE3040C0E7CA7B1D0FFE77F45503A52601C1FF22A88F7BFE87CDA6C8
-7F2010682A9D47D020584E1B0589CB3506F30AF338B24512DB82BBC543AA2F61
-7B3A2DF6F0F38BCBEC9CB8E514BC9EA0BE85BA65164EF438DFF8BF8431C04CF6
-EA6BCD20057E86DF0E2DBFB15FB2E8BCD11EDECC2EF55529CB9B8792DE210381
-089B90C19B117BF2B88E5FCA492BFE546D7515C25264DAD4C0C45F6483DCC05F
-5BAE731326420411E7F5773E673CB9A9A84DDC1899CA896F55486C096A4670B5
-633F76A24947654B465E65B1144F3D661B98F7BA2470154DE081588962BD16D4
-94FFDFAE48DC3CF727FED78C56419C328BDCD30FFA2BA50EFB2648D66A1518CA
-FCDE32B5626DF79E03BD7AFCC4EDCA05E2A4F17B7836810E11DD44BC14D48A98
-028A15A853DAFCC4DF862E08AA1C8423DB1EE1C6A5BBE90EAFA8BD72981E0A68
-8B687C155294491941DB5E05FABB7BA957701B448E92BF377DBE7FD6AF56EEB2
-8ABADA2FDDDC6105DC2EE8193D579DA71B2AE335A408C84258813B7F48512E3F
-F26232E759F5566E0B1A65ADB1D98EF2C1E699564E4E8808BDFFF17D2993C536
-FBFFE327AE60F81AEA77CDF2DB327BA884B72EBF28677A5767C74A359DBF2D4A
-5E5B86A99905B95B8A774189B89046BA78B484788DF8
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E3948FFB3DF7BFF10C9BDA4EFE5F68A8CB1526990D1357AE6D2F7C2D2EF8496
+4E47B39E6712EB8908A3265E5FAB40567E866C244814449F1E993AAB422C3F1D
+DFA8C7118584F2E5197FD4BFA3A8AE9E953C6CD4672C0FF51E41C3A919749C1A
+F06650DF4C5E17492164BDBCDF22609A74BFA7F69960A64B9F949FFC2A807458
+8579366C4F41BDE1FDFBCC4845FA19BBB6963D65EE8532549274BAEBDFF24FA6
+03235D1BE37C06B1938AF369DA75BF38DDBC87A1FF445EAA16E1895ABE9506B9
+211955753E447865D33CEF007391D2666A046277A30A49804FFCED3FEA5EB2C3
+E52EE14A9F75241EA10C91974CDA6236EB840FD44D6DDE4D9B3266C3B99BD38B
+D835BCA8CB819C073480FB972CC028D218F6A1D344CE1B63F4FBF2C826F412E1
+6E0B05A26125865A14FD7B7030B478BB8BC6BC395335C3BA940E1C348267F4F9
+0AF97BBEE253511940F1048E175D3569F7D05A28851B6F50765FEB6C9654FEDC
+1BF52F535DB5BB90C1BD5D2EBF75E0AEBE82B20507F3C28A03746781018D4EB2
+298E4F2C27ACF73FA73EBE43F014BB575AAD516C0407B29E1653375135ECB74D
+C91372F06FA8EF37C31AF3FA48AE65318EAA6C34830A5377ABB2DFA5DA53A574
+4266FD34C25C8025FD7DD45F44301DCF03F51335198F9EE71CBD72BB906F445D
+EE6AFBA2FA06A0A045D56CDE98A6F0DE807D81F26D017B74D1C7A5AE254B7705
+7D96CFB3C342DD38DB5730ED913639C2BF3CEBFA6F3D493DCE5F8218F8BD8035
+9E6CDFB95628F7198CFA2EBDE1905F051BFC4F835C5A787E3B43EAD947EC893D
+9D1B04A9A7EE7CF3E02A58BB0867AA7C77F30CFEBCB4B3E6EC68F6B234FB6B26
+7A9D88A3CBF7A29ADE9F9B5FA013F7B8DCDDCEC41DE33A3C9B9D7F8A9891FAD5
+460D9C3B63450BD46CF8AABAD068F35D7EF43E4B3169D9A4F24EF929F6009F4D
+C735AC23FD381EF5437EC7335B93CDC91E2971EFF5D694DB9392BC93C5DAC773
+6BF659546C35BCCC01148FC844CF92347C545F3AF4ADB4CE66D188FA44F9A195
+870530F1DD679562D0EAAB178014F23380A82EEADE9B97100140A2799C7F1B05
+1F317E995307953CC890B23E517FC9CB0C028E1B6CFF0B401E8A874F7A50DE13
+422046AB235104FD2BC0FF9408D065ED9C7E2622612A67E10C58653282422E96
+5427818799F65CAD7DEACD8F3846D53571C52289AF83E0C04916AD56818A89D4
+EF4E31FF933277AAA0F5F7204B56BC62D60C61AA7C4BDA772156882432D2882F
+E7DC750807BADFA8BE1DBCCE23DD0C9E70AFC3522C8D08CC1863D35F5E0B485B
+27B1BDEA13051334BE4430867AA489D377B8775BCCCC21D71E368D68E2ADE30D
+4FBC629A6C378DBC8C4EDCEC819C7C1281B4464C7975B15011A65C28AC30D08B
+803F8F28695BCCE34D8F3F06C54A643B40646EEE65A5D665559AEE50BFC8D672
+D06A60AB0931FDB661E18752110DDD5DD4E3C83AF67B8C61C2269A674A938A0A
+7891B4E69E3A93159AE087335EC7B6DDBF55D99E0C7153E2C72FD7C31FD4B6BF
+F622F4C6690C3A7A933BD0F8DF9EA9EAC07798DF26CE0F81C60C4A12AC119148
+5CF4017A73447CD8488166F9819227F82C0F5C7814862E13B8CD03963EAF9A47
+892343D2C733AEA1C0C31C9C10C5D87EFDFAF3CD7D88124A45A0C4F4A60E715F
+3882A682D2015AC64A46330C73935AD26F27080E0E904531C345127910F8F382
+6C1C51D815C02B552481431C67D5DF7A2B34BF183365344943FCB0918CA8CBF6
+9C85C5313120A5AC166553A085786EC63367BC3E4205A385F150B9186B33B67F
+AAA2A14BE860A6DED299AF56BCBBEB4EA1DC224A9AB68B355FAE1478DD86612F
+14FA566598BA0D1908520F27D62F57D9DB7F7828D04B985DA459938805173EDC
+FB0510D363FAB4C69B1E6EBF1E223858507BCCD420B7A24AD704F45391E8611A
+63D5AB5D752D543499BB922169B5CB058ED7F1F1744BF62CEA4E6ADCCA4A4579
+2F192853FB5C7930FAF3312E3F5D6768F04A8F3AED560BA16F9A4E80A71D28E5
+4EF0A4EF61E0756C124FEABB7BA3F7BB2723F0322CE0798CCE747779C676143E
+7FD14CFF3E1A8F8458577D2B5BAA655D95C304D9FE0E790B41EADAA58BF88995
+ACFF2F7C3542FB7116D6E6EB98752C37EC9AFB4D3FBB0DA9A515635E4E26C9B0
+2801F86C11E27F22391BB411EAD568439B24E083C9432C1B78DAF782F4D2D329
+1113837817B06B4C2D0FAC110BCAFC39997D5CC24FA2A2197829BEED1F528DC2
+6EC3B0B77A71631929F0D80B0269FE1354AE3D62301AE7967393888487C0521E
+5815C8D09D3319C0A3365DE3A1E361762E3D497B8207B7AACC80A8290CB0DA83
+42FE466EC6140C925186DE65561E7D2E2A029457853D28DC16B63000304FD9F6
+FDA4C531C2E9CF3A5E4FD2EEED36A4B06389449910CF830464164629FF44AB23
+0E4B9F2CBC38AAFDA5C5968697E13430C7AE0843F9FE3B878F4BB3F3F1127C89
+3CE2F31F4CFB1501F14E7DDC9B82CDFE904A01F143C06763B8A5381FD2205123
+3064FF77938EA7CC8843BB51D3E64413CA57F6EB315894881138BB8ADAFB113B
+716597A5AC770C2423FB516AF5255D2753B3096E5B1264AF5282ED7672A72CD1
+AEE55084D6F4A626A69674EACACD9CA25101C97A91CD6CDB02B2139B40A5FABD
+BEAAE26697974331A4AA99D952A97B7C1A380CCD019A92B5CF9725C1016EFDB6
+A1598545FB47BA81CC70BE7224ECE7BA6025EC03647E51A07A085DF5BEC98EF3
+CB5E3BA9F69C2645D8ED2AB286FE36D5CEC8AC90FFD02920498FD303DD5E8C5E
+D70263E6CEE901655AC470D1C4D84B6C727192680947FA5D39D2CA1A3E1C08F6
+76FF8DC8A514684ED87C3861ECCCB55A2ADA94704BA5CBB8DD95BAB6FAD12A59
+8960D16CB65D9DD04A8E506E968A33FDC649661ACE470E396FE1526116DE57CF
+D796FAB552773038694933191CC8FA3AE9B6A088AED49A2A5BE1E8FC2EF55DC9
+CDFFB67C010927C4623F2A83C23BE4CB09CDAC7D592257B5CEE1164F3FF90BB3
+2D54A1BA366DEA72ABC8D8376A975A89EB48E555634ACA3BBA4749F4B2027AB9
+80C5EA8F927E8BA1AC78344A113A10516E67F0654C4D0ADC9B0C90F306DA5EF2
+7F14D5CB40F9EC86917DDBEDEB02387E591B34088336313E69F0FAA38ADACDBD
+38358036448DBFA840A66F02B07C056CE94F270DD31F66C7BF44462341690821
+9589E662BED7D4767122C7B6991F40160CBD86F3F8852A7BA6737C798655415C
+CBA31B96FEE09FF64513D473B6523C6AEB5B7C12C22536BEDC27F9E4213CDB6C
+3BADD78E34D9DF1235370ABE6083D99B9748BF5CF199A4BB5FBA2174CD3EF88F
+556658185BC2B50F930919B7C0B2CE959E285E67657366A37D1D276FAF23F401
+28E43777912395D56148B39170D6F8CBB2B99A5FB23B8CBBC8EF0792FDC2040C
+25508B85514B18BD18F2C9304A52FA325F654859734DFF304BF15A6BBC609DFE
+0C8B2E61ED5DE87EE3E63162E57432862D489DE292E0A107816ECD1C44B76236
+F95AAE8D97642056178AAFDC47BBF1931E133FFD0BCF1EB1CCF37C6B5E7126E3
+48B96E44D3D0DFC3C7E872BF3276893A75494E07CEC01EBCE5EDDB16D1BE4775
+3088308B542203389E32D90B64F232CFD1B3D74A9A44877BB011D81E5777F8EE
+2079318FE5172A0382F69D3D3EC537E5C043B40ED1AC2A0939CD1D0289282917
+520ED96F3E5DD1051393C2D9429B4AADA1019AB8EFAD90C8C34B58766B952B3D
+0D523700F8B42928E9DA7A7ECCF15026D08003F182359398BEA8D09AABFC13A3
+05CC8FBB281762EDBD82265613FCFA96EC3E0345E62DC6125BC661B02A191F35
+9F53BF7A5937A449B268AAE45DCFC22AADC2573419851FBF817463369B1BF8DD
+4146C385A1D4B9752CB86030C1F2B1153FC4DF5FDF088071E1D2D45DBE9603A5
+094F7E9009C8E7B801F1BB41C8BD0FAD2CEF634DC5589847D72BF1A7C1E16099
+D1555EE1A4E4B55657E8AF9F9847722E61D099C9D91C6FF77D9D5295CF1276FD
+762BA803B2AA69326037B6E8949DEB81856082C095B409FE2F77ACC7044AC253
+61AD506FFA7720E2CCD848986A67A12FC805215143B7F853DAAB939A730DDCEF
+921FD0A7FFE29487833D24D8237BC17022B125B373512E5CDB7BC6095CB28CEC
+7D8D7B5F738EB2D5F783449ED03ECA4AE0E0E3A11FF5D6A9C7C9C8140ECEDF50
+9A8732FBD1551F06E09106D5290F007C2B01603726F1DA8B803B21EB3BED0645
+B0650E4F9F5E08183E30A318ADBE144824D53D80D57129A850D63A093E9211A1
+5974A356C81EAF1AE4621145B052C9A22087CBAD737B0A8A0B1E306ADBA569C0
+34B9BABE62F034A83FDD8269276ACC3605B98F37D6279887889634710E1D5AF2
+3E221574C6AE79D5CE99D3CFD85FDD1BE03D18A55255E68AEEF55F7624B73CE4
+81F9335BD83FEF63B4085F380F66E7B78A2275A0F6564989E6E30F2B68A710E6
+BC8CA9A2BFA1867F904EBEAE978FBBAAB91619C91419B35BFF0A1EFCE0EC1EF1
+6A6705F0557625E9C263E2BA24DF2FD7D5058EC1E7CA7B74D919AC74D10855C2
+5243B6D1D226472718014C2F7D4628E8EDE945C31A18BCF65CC217550316EB7B
+42C2AF4A8F5260DE23FC76206930FB71807791250086D4D1A2FB0FB59BF36D61
+9E8E8628FA7C98CB2DE3D68FC3FB59DB83161557C10F9C10D41A0A71294DB424
+53F016E8766C3A53CFF5B3499A54CE729FCF25F363E6A86296113755DB858629
+559C8ED93554D31CAC2026A61DAF9A6ACBCC1AC241AD7DB1C35FE600B42B3BEC
+D609A312DEABDB652900CF13C060528BF5C364D7B66B148911EF0F44D6EEB10B
+6B1B15C3F79C765B0D034ECD6E12FF2E409387595839F456983621E67A67816D
+EFBF01A71BCC15630A58097D6E373755771D5ECC996D14CD8DB79F37B0A5F548
+5CA060B6367D6855004BC10AF9480CAEE26FBBCCEF72F312F56D90178475DA4C
+30CD8FACB25AB06C50D8A7B42178DA9DA5DC609CE89BD9CA457D0496C475DF6B
+1A534B67DAC82B3BF8F6481EFFCB503836A372FF1A58E8532AB23A582A94DEE1
+75926FE4BA117B1E2C1DB48655513F48B793F2D46252537E3BE18E23E8606F3C
+5ACECC1187EB657E4CA47056CA93D083FE67741511E331E8C68C5E124129DD5B
+F7A916E82EE943AD0DA871C95BB927AF2A289DE1998498B33281302C3ADD3DB4
+23D46A24BB50F34B9E2AEE77B3FF617C20DB3039A0BB8B62A0478E1AB0CE11C7
+F9E6EBB3DC81A7BA87360923B7013D5E0F5653F9A83648CB1B79C2F3F088A5C0
+A7C12980E24AF5D5C62F413B1BDCA993A270B8C59A34F38FAB85632BBB0293C0
+F4ADE8A077D55F51521480551FD2251EE60397EFC884D6EBB0F63D28D39E8909
+7EFE4806BE5E783B49B88D2239CE84723B6275F08F95CB4C8E6048F0F409BF39
+04B1DAA2DFCAA483E53E4B2122581BFF348620412C6BF46E94DFE0367A6FB9A1
+50DBF123AA75520040AB1C6DCE4C7747E7C9F7C8A82EAFBA56E54ED007DEE5A7
+0EB38F29CD004ABDFFB2662AAB22C5ADB0BBF1FBB0BE17D17EDE4765D4E236B6
+3FFF8419464D5A50CE9D5370B7254D22BF17B9622E76E67BB5175ACBC96552B9
+16DC47B5AC64C135D3922D3925A86BFC7C1EE4EBE43F9D6C5EF7E34E619E3134
+7EDEDFAFA1BB47C70F33CD6E4C03DF47B0F25C1D9D6662AE0237261A885C5476
+21ABE6F2DCAD04A0962E666C7550C42EF0347295105EB86E0E66F52B041407A4
+1232DDF3399151B94D6579213D9DCD928C7AE48BF785C5A79C6B93B2300AD61F
+254D40098ED275A35655ADA1EEA428B77EF1C3FE3AA433859D13F4775C2C897D
+C0455A2E2B915C66CF8EFB2B235E7300274B177A23E2527A2BC16D2447796B03
+6C2342496AD324C72AA13697EBDAE1FF3B76A31F155A7F6580248FCA299E79D7
+409CA55FE849BCFCE947712F6258BDA23AA171EC8B03BFC638321BE3D037C033
+ED4228F493472C83EE1224500D21C32F6BF47C6A93EA1584C87E51AC17E4D5F2
+6CA5CED597FDCBD147F1FA925AE817E50CC081ED723E7DF31A55291971ACC6BD
+A32C29894111E7CE7616584FCD0FF3271E2F2B0949FE7414319F2A960311D345
+50BF24DC037ADB28DA54C905B6A092E58262CFBF246058C76525F2864E1492D7
+55D9675930DF9D1D41531DF5CAE0B3AA9E843257425CEE9C200366177454CDAE
+F8DD83EBB5A04449EDD81DD3A1FE7AE750D2348950050A268212703BB262ECFB
+FD8B4531CE2E7CB606E5A11DD476696A70541137D24810B790C376E776414B96
+8A6B1F9EE3D150FB55B096337D6A105B41AFFF91620F86457F1DD049513AAD37
+35F7865AF8CE76695EB1F4BB4D9845FB907D547AF4A667391E12D7100560B543
+4E098DC4E4A795365B150574E45A0E20B0DF6E81ACCCEEA7EBB523F44C7133A4
+82D787C421E3368214B076E52670CD989EE226C989F33207E459627C28B4FE66
+63F601FE2DC08034F9213DECCCF45307993978AF1C904E26C3A46C764FDE4607
+722DCB1104A372C17C878120F3F26A61C47F16372229B596638351E5D462343B
+3D94C38F28D2DD1744C32E4BEC252F5A3CC6347F6903DB7A52FB75C935F8CED6
+6E6C009091999166D80FC64FFA9FDC27ECD45B48B5D2F6D92CF5DED548A6B2D2
+7B769BB199CE59BAAB3DCCB7A7DACC7C8231A38FEA4BEB4B829C140661D38CE2
+320E39E55CE5EB9D3799E4BF8BB170F4990E8A1D002776467C0440BDD2399C88
+4C03F90240CAF680057FC2A18260F013861E1FAA1C1D3BF69CD4DFE3C8F201BE
+33DD475F8B10D98EFDB49D7E20E358C85F3EB47EACD91F50EE93A7FB6FDDF40E
+48122E81E70CE58EB16BEB5421B14A94CC5D8D533E58F68FE017F4E766A40854
+EBCFA4A5AA7EB3C3FFC0DDD47953024D8400E9056A74C9333B41A4BABB7C21B8
+5279F74977238E69F073BABD7EE6635FABB61737B6D2537891D583926FD8185D
+CAC55A726B417CB15E57E172614EB825050DF5AF12D26BAA445AE625C5FDD007
+5E45878D77114BAAE75E87245F76D3E6672C19E5F0427DBD2D9CBBCA7D0D2241
+8A1DCC510D1A8C1F7F21A1B617D131A448BA7017F5EB718337F52A3764861468
+AEC674149838FCCCE50D420DEFFAD21F628AFDFDBAEDEF32681614990FDD6B1A
+F41A0CD6634E39C3F981D19D1FE3A5234B03B7F878C766C29EDB80EDE6142D30
+65E87E012F8622DB1CA224E5D096491485CE80F2985D33DFC982E7A2AAC341E5
+70D3E599FF426E0416AAD83F139B2C7115ED16E6B86472625463E10F3B6EBDDD
+DB31554C7ACF055AE923598BB5E04E221377BFB4172C682203FBA29CC12FFFD0
+60812E176164DA97AC04DC150FFDFC3DCEA7AF26C8D25A9AC26F953251778A34
+0E840A53CB2154150DABE9ED9746D9FD585720432DBBEA37816DFA37EC123814
+83322709140A839AAAA09D4A9EFD87D085248861A4C8F257CBE50B966A6FAF36
+58B206CBDE6EFFAA0A6A801161A01B0CF228B717EABE97248B1601F79E2DD728
+8CB2527F8EDA3A39601083C76B7F26BB08AE56A578C40D6A9BF4829CF135DFE5
+42AA2FE1636092C3D229667F281D1802117A79CDF6C31CEEE9AB1DFA29AA158F
+03891410B9DAA1DCD429BF2CB06B5B1C56C5973254FEDD5DEFBA5240FAA4BC87
+CEEAF81F37076DDDEBE076D83D8B4237F68B5B2E37A466943BA26A93E8F6CBC8
+282CA1BABE1575E52E3F357E78D2F9F2CF71B5C62F69DD33C236FC4ECFFFCE9C
+2ED26E6FEF679EBC1AF76E1A5AE35A772C1D600AA0F15D41B517F38EA18EFA1C
+47B9797D01A9359516152F2A41A2712DA783CA66CE8A8D7D978EA14B57EA753F
+5E420217F29BE90C4351575977E2438A6D8ED3EF853365B5F168FC245C74ED69
+9DCEC4AED42E18B14466D3A9698F665E301F441E5683880FBF54407AE8D7C9B0
+A682E5B09CE60BC2151732EAFA61365D9F0D785421B2E7EFF2C6C6BD3BC81AF5
+92481E608370F852F518000B7244F3A189D678827C96AB040D5C0133EB4501BB
+E9BA80C29036910BC2524B76E28E2915C29A0A05EF1BE58C2F0A3B6E17184A4A
+93199D274BBE697600D4BAD6432C54F105EB9681FE1974620EEF5F5691DE5657
+FDFEED35F956002C1922A3D19ECA544C16A39008E8138B7D6542CEA52B94409C
+8EDF0DF1E0423F5B12F7CB4609AD443429CBC0A95E11E5C49D109DE51A81BF36
+6EB3680468BAA5BE05FBB249F2BE77369F91405277F41D48B56361BC05A2868C
+61B08E13195B4C7AB362CCA707FFC2751C3C8E4DBFCA5F816FEA647E698A218B
+D83DD052EC645EBC3DB837009A8FF9827BD7A9A9225A88A08A45EDB79F29FFA7
+552661381E9F2246BEA3AFFB90E5E5D309223F942CE0FEDF4676EEA9A8B6E9FD
+4806F0DA25B91168E195F83E88717965B0B9F94EE5D93C5027FED6D218D86C43
+97CC5B0D68A0A416436FE6F8D94557B00AAF2F79BFAB4F7F913E93D243C99589
+20705C78C682894FDE048E21D1DA429A21875E9BB93E5F9729610B9F37E9C85F
+A741E3F671CD64B4DC5CB74045B676D8204C712952DE62005C28DDC7D45BD435
+B9CE142C712535E142497BB7A3C910098A555450AE36F6946FE64AB61CDDFF27
+42A66EB0578948E6981791D621EDF7C4690481AD0FF976448E2E74FFC403C437
+8E69B2742FCA506F0D4CA755A4845F183ECA64BE5F8B5559724B3960D4AEBAE4
+3008616B2B8AE5054E3B98CDF4CE969D37F6EC52A93A39A30C30AF7E1BC5B188
+CF55E1A0B438FF2818B539FE1D13B99A73EC53494388CD0D76C82FDE607D8149
+55610E9257B2D0F3F99FF5F5D6E69D669137EE4FABC86AB932ED1464782EDB78
+CB2FB25A21D3F3D1E5AC748F5A08C708A89B35EBCCC4025C3FA0926A004A7730
+162B6B26CD6FBA676A1C02E02FAAA2997E1417EF0C8EFE307834177273AB2C06
+74FB90E7F5F153D0B4F930D29B9505BD6901DA450C5125BF431930613960B5C0
+347804135064783906A199FE4E3EB5E72B2AAA87268D447A173FB4C97EED13FD
+B92776F219691CC7C69E58D5378CA9ECF5558E900F1051ED765D4DE945841BFC
+95D8158036172A9468ED285A7617ABB148CC576474D923DF78C44557505204F9
+3BC3E06F094BE97BD9105FDD554764CC12B1D6C80BA0DF4A91AF3DE1861729D5
+8368A770FB409C69C61AA448C36BFE5B6EF967750C4DFD8BA75DCAFE9FE7433C
+133975CA1562BE1B94104D642770272A7FAFD347A80E9C721C4AF48ABECA07B8
+E03F9233CEB56D5DA306C96DE5BE5F4BF8228F63270C42A00D70D409B1346A38
+B7C6CB3D5932922A99324ED0ADA28134D5482BF55F972620BC2229E760F99378
+2C9968C09652E635419E95B6708BEF0B89EFD60D1AD2769ECA79F901759A810D
+4D1CD0CC22590AF0D26A45571D86A3491E982E71AEFA91FBAF979631465DF07A
+DFC4BB12B50ED343790EB7527A91CD6CB3A87AD26752ECEFE418E2DAD29F60EF
+AFEC10ECC7F76039D02C252B29F7784E0A540274E10506D31F3D0EC5F11142E7
+AF8128EF4B76A908C0A90DDFD3554D75B3FBFF3B323AA8CDFD46D3A53BC4DFDC
+0E7C2E13B44723543AD0593F65B1E9E7D43B23D9D4FF009900874D26CC5D0CF2
+49E647A38D5F815198B5D15C2DBC5B3EA0F3890FCEAD1B03A0DFDAC63A0C795A
+4CF7FE8E186A99A19AAB5E5CA862A0D362376CA5E9D9A68FB557B00AD0700973
+FA4992B07CA6F7244DECE9E19579BF48C8A74FE0AD307AEE6CCB32550E12EF9A
+EB55AA739398663A1FF5F728CC05829647A9960F083A24B58B8E64FA3201F4DC
+5B0A3409B20437990B18F6D92D3D68B0ED99F0A098EEADDC57D55AF271CBB9A0
+FE76295EC007B60F9DF6A338203316A171200318A6513A5BC32F52117FBDA795
+CD37F74DDE3BCEDF79953D705F99D693F941F03CC0F9B833D61E6FAD715AE04B
+7BC5124CCF06886A7250F16E5507116341422C7DF777632590A79BA2F8C913B7
+22142C608F281E25F084B7DD5EEF75DE6717BFD0D87631FEFA06013FBC2C5ED2
+B9FC1F9CD2D6F256EBE3A32AA33031EA323C8C0EDFA212C4BF063F86EA34B6AE
+32ED677FF60B9AEBEB06868A9340E4C6CCFAA6FC94764638C8E4BFF96BD21C96
+607717FE8EF548E0C74678D940EAD881A507127AB8365D47EFE1F19347055449
+8EE707A006ED7C7A099B580F71A930408FF7CD0DA5283CEE639B0CACAE6AA977
+85E2CAB7671C5D0822E9CEE949AADABE32EAC9FD6F893F8A4EF68F8433D23FDC
+F055E3FFAC2B90AB7E74DFAB6305C304C43EE007DB898DC62052E3FC9B444401
+093282D8794BF3DC4238F9452D428D6845800BB00D2822E3F9D7893A6F4C1F5B
+EE886DA7B7FCFB82E3A0DB60C1C22513BC2FAE9E1409877372413D13D6901FC1
+7182CDBC8255A0B64D9BE57BFEFD571EC3564515934B83FCBF1034FFEE3D1E80
+CE678E7F164AE618F0B11282DF07EF0C83E38DC7D4657BAE4A95B00F4D720071
+A1F0007D49CBB5F7F771A94C79D8C5F6EB1D051444A08F00C87816353877BC03
+1A2716E0EF96DEDC70BD8720F64B55360F53EAD5CFD66CF60A32EDD31D0C456B
+BF5241581EC733BAC4147BE30F551F4E6BBF2B55F22D0F4BDBBE545CA926182C
+D76A42E023985133C6630ACEFB123831B98AAA212B9792C178CA03F60C5CAC22
+6D171F3DFC0D80864C030D15DE36F1C64C4D58372EE81DD3809A693E729854B7
+0501F87CBF413CD0AE178112B422BEEECDF06D44FAE7F00652651D799CE49189
+C7240A9E394D22AB06D3323196125C34BA0AD9811E4E3A53C749C50A7F22CCA0
+755A48400223C62A00657A5031450C9DA75D887B1B829DBD7C4EDCB41D0EC9AE
+9249764D708FD10561878D96BAF3C04DE55345FB72095DD005079C81E4FD5C0B
+AF0A29A80CC60ABB95BF8281B864EB157330C5B177E5F1772B5741AB1DFE9BF8
+2250E0B84D442208C8089BB1A2E3FD48BD3FB0229D4930E9DAD425B6C759600C
+81917678070B68B647B5CDB158B119F80F977DF49E3F8771FE51CE54CBEC0484
+65EEC84334A73D1819ADA60607FDA2C266821D85266B762979ECC2F4B686C239
+6D4CC5A462819F09626487CBBF1522003A991C002084D1C1AFA7D7B16B0AE43A
+E9F7D8860A1CC511407169BFFB43909124E59195AE2405021F0B0ABEE453789E
+E9918C392898D361E17260CF3D01DC9D5157A9F4ECDA7D86571AB8BE5BA5609F
+C8067F1486FD346A55B9DB0307E8B7157905143E6D9C23FBE5EBFC1AD911B601
+8DF14F22DAF5258723024D007ECD31D3F8BC667457691403663516E551610263
+719C86D6FFB0AF96ECB75BB3739D4C58E1FE71DBC95B6F52E98C34CBF22BCF63
+02FA24D335AD77336CEDA0B5C69A1C965DEA0092020CB19142D0B47E9C3B9866
+0EEB12A1B572747D286C4BADA5F10507E6089FE370FB73B06BC8D1D5A073C447
+8BA7FFD8DB6B35D29064D9947F6691A297975BA7083BD029A3F7651D811683E8
+CB67FD450A98C33C6C941C12456249082E88F2E246B61758CEF1D5959FEEC67C
+0CACB1026C7633EF6EADC77C445A28B766DBEA80E6829E97334F34AF534D6D5E
+74A086D5B2E36BB7DC39E786F8A4641018C96A9FA51295266596902762563BE7
+0C6821F6545C77839AFCFBE0681E8A0D5F8051C088BB40DFDFA0844431F796A8
+91B6D13842C3875F8CD7C4B62CAD2FD8C02E77394A0DA3563DEDEFF536EE90ED
+222ADFDD2D685D2C43630DCF71D62622601A8EDA6D17C9369B570B856A738266
+D883A6E5FEC5A899884E4B33B8AC381406FF06073895EFFC7B3FA17AD24BFA98
+2038C20F3A17D4B6030D42C2D948EA0593CC6ED139B46CDD1A881ED6FA799A4E
+6802C86507670A6BC07DFE0B3CC8E91F364207090F8E4C4A79A012595F17B3F9
+3F85E482C64A6ED93453BCDAB4995B6C1DC755002F3EC92E0078F767627624BD
+596E65977CE5D30F3DEBE12A86A0DE78A900A9F02ACBD594123787710BF230B7
+1CDE9E0AE17CC57268F5447478DCCCAAFF77DBB41C33436243DDA1A449D429C8
+D5863FF540E263974BAD157D3E5C76D9A8B2DE2BAEFCCE8C102FDF69A746D0AA
+35A62EFF11CD641DC3F35123BB621925A3A2395911E414E03A0698C4BA618F84
+678142DD5B65E652D15E0862425BAD1DF596A7F5B465F98125F65A90EAF05B55
+B094A8AB8F656FA7920BADB345040485214FDF63C93B7E34EA6D29AE3E586468
+F045306548D1F10D8FDC0BDE2B767276BB2BF4D63297847963F282864B295FE3
+233EF9E07BE4E1E4A09655A1FE00DDB31AE4A0F30F385194325B007ADB1F231D
+F0B34760F28FCBF15D8D185058561740B0D760A0A1BCD981D4F9B35AF7B8EAC5
+838A6625D28FF98EEE839401F6664575A78220E549629146D646AD398B446418
+BCDD7A21CADF8AABD3E86E695BA704ED1EB4EDE50362E08A456D396148AEB30A
+F72B8EDE81F2C0ED7DD34A2C4978B2FAC5C861AE99D791FE225A230615B6C90E
+C329103583AFB7FB2F8DE609D2E22C73AED66AF6E75007AFF6AEBF2C82850F77
+862165AB34DE6090441A8F7FE69EA9010A0ADF450B3CF93DFCF6B835763F34F4
+B78888304913EE88E98C6226E6BB2EB8CC7C72E715A559E40886E7FD1B513FE6
+0FF7ADBC7442B47D14EED961A7E10443CEDCCD08C4C9995C2AD9F33CE342D0BC
+E3208FCC67D79F48A23CDEC2BF2BA2062759BE626E8AAC5216B20D3E8F197CD2
+02E0A57F2B64E0FF740B08D1B2B5FCE94B5E1DBE282A7D1604AB5086E210A3F7
+561D07609BBA5C5DCFE08D8DA61A8042DDD91467C887575E7544F83B36A3FA70
+9E5890ED7FB5073C25516DDF9B7573ABA9F4170CF69F25CE9A9316534FF2328C
+58B1130776993B040ABEC626869396021EEB243B522D43868B75888838DE7FE3
+BC904B017009510A9118DF0734B470FAB9436601B2DD289CD69F3B72907601C5
+A89976B9CAF3795767370FD26D86641B1F7DCE6734C8A6C178A6FC3E216FE8A4
+90B6925B8FE40EBC8029B1C2FDED277ABC609C9AD1E0597CF7766E66E5A8314E
+2EF5EDBC1F5712EC7A663570B6CF075F62753DA6BE6B35DA501D67903DE0EF89
+96ADEEDDCC353B965EE744291AD1B0BA80E22BAE4828578BA891B9D8BB3F0309
+87E96004217B51F94D60E7F2F4040C3BA5CB815DBFC1868C18B3A285270967B5
+67038ED7B3686E922F0433849756F89B04F87965C8B87AE6470A9B79F1FE1EDB
+A61ED863E2C677F06F8EBC7BA2DE7745083A6836DF8CECA4291B72CD568A1806
+E37AEC373141EC66BBAE70EF24D7F8D599B1D1F43E8E1857A9178977F3ACA1C8
+2D8AC676F8BB74475BBBECFF466B2947F4861BA8BAA0E10C933EF73ABE2C8EA4
+D435AE2FB6D65DF97D44CDE5BBC33760A5213A791CB676AF17480E1DEAB2E281
+1D4D754AF921082C64E90BA54FB82CE4C516325A11BCD0CEDC9CE79427330101
+8429CDFBD85F94EB44AF86132E28F457490ED7F3803F5EEA7BE08DFB5A2B8F92
+381C4B550BC1DEAD73033102022DD369E07E0EBE7A0B15D33D886666DCD62438
+E44C8326530C928C925ACB733BC688CBB736E70E336670EFACF19640AD0DB453
+011F611BB8112528A72C5513978BC89049D4BC1D228F34E4028AF04094A9BEB2
+92103AD4E6B1B056E8F5AA454C4236A650CCB18072042F6149FDDB3CE6F5588C
+0489F75CF2472D62EBAF23B7CED3613B0EC72609B1A2D55C862F7475EC5323B4
+4A58659D5EE6B6883757C830397F81C9706D395C88401E055C250915A8382BFD
+B5A2A835EC543A01A527555E97F50220C9E4B50AE8317F881AC7755F01168F7D
+51A4F497A8108E965675882994025FD590B243F31A1646B25E576F53249E31E4
+7BB8639F23839230146DBB98385F202EB0A98BEFC1F4D77B3F07839B67AA6510
+AD6644914BF0273C9FFD4EFD80210B390CD8067EBABDA519F76057C9785D0DC2
+5D5995BB7C8E80B9C789EDFD4A0B6F4F2684B9BDDECE7DBE5971FF4E6F34539A
+E2C5E183D3B891AD5C93976FCA5DAC7D8AA721714E2BE2A66E1F134BDFECEEB7
+D3258AA678BD00F591CE188E7B422846DC6D4A8593B64BE23D844F4D3502E21B
+5C3BBFC07121EAA17B8A75DE783CAE6D310EE379C35043188D4E51CC1DE8FE4F
+49F57F8115F00A8FBDB5E76BF48E8925A3E0F78054A50B7CE6C46AB9EFDB42BA
+4A8F4482B99EE05058C92A429A6C495FE2AEC8E08289ECA9D54B878DC4532D49
+322AE9E2D96D60FBF56442EB0439AA706E705DE37197E68A661CFF55620C42EA
+BF9F1EC628B6B855410432378346EAE2FF9A6B846329AB297F3B5E6C405868DD
+FDFB86AEF303D6B522AF83A96ACC2E54159B07F02E6B005A7089845EAEE9EDC5
+A545FCF2B4368FE89007ECE079E9D713085BE9CC421C872988CFC0BA8851EBD6
+7CD71B10103BD31EFC38F1560E2953DE71F763F6D266C47566AA28AC42992B56
+EEBBB86608F2E70A3D1E106CA53E3D5B000ED247621DCFCF590413D2113E8BBC
+A4DFA94A6609519C03BC2977F6A85A71A521118568C417F244CC8CCEAB58E00D
+B4AB50847C9E61E9DBA7105DB865CD4E31754152422ACD7FCF14A387C56748A0
+940EBC7A234F20F9CDF424CAD7929AB92E518A878DC87913C383C97A69499966
+F3368731B00EC97394DF487D74D5B3F00179A745EF66B6B73B8ABC0E69315C26
+934A157339C95F151E201172AED00E9EF1B068CBF038DA2F7B107A3270AB1408
+8BCD159863F17879115C80111C25CB085B1C831DA48D13F019BFA3DAD1416A1B
+E216CE98165D6C7024B515B7B170123B5AC264E5F935913F2BC3CC4D33CA94CD
+4711CE30C871864E06143C425D8CBA43232D0E1B0B62DBB25392A5ADDC0073B8
+ECC9F27B3319713AD4911D6308FEF4B9DB01032AB0CD93DD235CB1B85B19FF82
+19B9F2A22EA3936D63DA3120685C2F2BFB070686F59D40B8888B5AA9738AD48E
+2D19BCCBCD0DCC916BCEBB3AD0071938993B12A03904C6AA69FA61E343F7D25E
+92F20317C817356C80C4DFAA86612DCA6D2CCA9A82F32452FBEBEFE79B958ADE
+881A70556A1EA91C43021AFE545BC1C4ADBA4725A804E7315262CF6A22CDDED3
+FF8EDAF2E076DA68E5776866A8511B31E1580DC80A81690468633B6E341DE523
+92B81724C9FF0C684751204C9D0BB26006B5A4D614698C86F4EE28E70322A409
+57A2A329207E981F548D23C839D3C354B786E52424CD81CCECEE5014512F91DD
+D36F979818BAC439C1AD236BEC03B7B517C7CA677B390C9CF4E9419648722B30
+6945DF2E08EC06FB5FC59D5F1ECD8464511258514147CA6366741310D2C0C47C
+1B757F2D7E82200033871F022315BD04AD25CC31417829AA72B36D31F136B033
+DB519DA191A65AC98859438FB814CE7921BA31BA4052FCD593DC680700DE4552
+09E4D26088D22E24933A2ABF968A4CE51F4B8C4894A81A9E6AA160775E648BB2
+4798945B0E5F50F58671697A9DCC0AF9A8EB541DC60626B2085119F62B08AFDF
+80FF5B9CD71DCBDC13A163246DEF8E8FC3CF2EF8B83E0BCC647C0A6AE45EF6AA
+0CF23ED220656A762259834A86D7AAB76EFB9D21E097044DB2FE616D775E62B9
+3662880464CD87148CC755A7655581C31AC0D00259DA1E3BAF16D3486122A71F
+CC9AB20E412AC6366A3BE4E5580017D4737FCE8CBC1D0ED2A94564BE7F775F83
+249F333EA229568737EB1DC7A034AE7B0B3236797460CB3A67FCBD21ECA7345E
+5D15A7BBCBC47E809481E1820DC16AB404D97C37C3C91540CDD613CF60D6CC20
+94A2FE5DE5D436C2F8F541B71EA6B17D76CC0CB075652189C81C912E495E207D
+D41043155CC4345F955368557924852BA79EF7D90C8DE4018FF876DBC72757CA
+0D9C4DE4B7C3055D75651E92D28F14001DED133869AF13A4EB2776E6EF192FA9
+0860CED7B48867F60929793B08D5C1504929E8EF0F92F860F53105E9FCB9BF6B
+A8D9F163094B868A4C0E0B02A64E10287942025BDE418C5805696FF5556724F6
+CA83D2F7A60AE9D2B21CCCA898AB30F689955F556A3BA9040D46846F6D922229
+71974C831130B123F97B39D3E4184A491380E60DFC7B536DD4BAC8977603964F
+D7E9987B51E38A6CAE4DC4F1528204F1245760FD77A2775AFBB4A390B8429263
+30860A8F17A3566FC8C7ACFD5FF72DC00224A9D15E27B2D62A12B39C44A85A66
+B71D9346DFEE0CB828E3A6B5291DF67945DDF77BA156DC253C82A301B13BF18F
+59E2A6200B46AEC32AF804E1B14E44B89AB29650B930BD66ED18F2162065DCBD
+BE6D34582EE8C434ACA6382312CECDD87F4953D329815820A6CC41F2763E1B10
+B9C84C5AD511D424575BE5CFD5ACA73A09236C4BFFB4000A49B0333493D36823
+23E533D51898337886536391D095BEAE98ACEE94882C556615E9D3E50EA380C4
+604725EF70342C63B2C1B18E41B466ACC3442758939755CADEE235159BF8BDFC
+CBFCF15D261F920C4690B7A330F799E0A28CC57133E036906462F8F72CAD39D9
+D7432CB95824394871230900F41F3DCEFA208A751E5BC1F4A1790DFEAB5912CD
+E4106D064525C267B72CD0E453C8EC90620FB7F3D84101510114D7B4A281C430
+7734FCFB857DA5668AF9D5722C44E8B267483FCC79D9D7B89CC5962538F78ECE
+EDA780B1CE7B12B0A24A44F2D63488D9B5DC7049A859FD3D2E5089416CFA5696
+3A8B69E534DEB5E3AF9242B65FF7334504D2618F5666BE593171515564CFBB06
+79A92C361D87D748FF20A88B49C0BE7FFC69F92A616AB0488917CC30EBB6BEBA
+021AC156FF8EB4201D3FAE137F6081C2960D10FBA68B5DD01C2DC22DC63356F3
+0E9392DCD2A9CDF18D4A5623A4E4D51AB4F55D39AEF1211B512682F59A2612D0
+4C519E7CEC9DD7997F090EAC559B65BB0321B61C319E626A66E3ED0DE3F451B3
+0C165A05753E4D6473F3760BFFE0721B6474006BA0F5D2AECAAD6BD5A6DAD36A
+9F31FAD2D3C2F52FE27CCB6FCB24F9C6653E6624B6BBAB63BBFD3ACB527C598E
+02612FE3B5174424576FBB58ECACCACBF4F3F4E12F1137CE40712B435E4BFCE9
+C91AE2E0E71A38B0AF6CC0F0B63A064D13E243A3956CF9076B30777C1D611FDB
+B086CF667167023170AD559FE94EE8D7F88BBF86E45FA67E64B0774FF8929850
+E7AF27AC6A77D19F0A5700343F989EC1BBACE67BE0C4950E7DBC2B208C3166BC
+DD3B95752EBBBE9E0BC22506F60C9DFC3DEB77029B9198D0A75DD7468AB47EE1
+EF188559C393325560DACF8358B075D464E1A01DAE44A323AC28AD8CDD006270
+E5EA4C26D837B14E9475F40B438C459FAC2E3FAE1D872477B7B0501E9E18102E
+9562FEC715266F3234CF54674ACF0F0A34ED9F75830E6CC7078E98C3FC849DBF
+25B3AEEAA05614F184080B1169725A5A44F4187A549CB76BE906A9D7D5F9D014
+0A2368CEB21A1057D0BE9B01FAD0C4B597343C18F0EEEAD6ACD42BE0624E1A41
+5A2070EDD880ABD6E68F02A1EC20437D4435F1E5CE8D4BCE57B973BF6795EDFE
+8EFA0167D0F20F8FB922E68572168ADABD583062437A677CBD6A96BA19C39EC6
+776F17B9F234AB5D7CCA3940D7E013CE24FE31249B4B8B5ED3685468A27EA786
+CA7F96F21DED7EDC9E517E3FBC69875DF93DF71DB71A83B2901D9C1B86653816
+C12C3208DC10D1E8235CD122790D00DC200552697F69D090AE347041E15219E7
+EDE71159929D0949C73DE7E2A77252C6584D49A14EB4C1BB41F27B344CED07DF
+1C61A98697B4A8F895BF8E05548354D5EB8FF8A74EC668C349B9AAD0BD0C36B4
+C4FE58E956F6F2904B0D0BC4178D5915B52A3CCF6ADABECA1725A1461AE07609
+0191056D86773ED0859531A65638E5441BB21E64F4929207C7D8479C9C69B7FC
+8F5BD062993880AF95144D451AF7945EA3988EEE8B2515568892B9B86F3DFDCF
+24D59223C406B0EA3C3083657FCB078487A280DBBB52B7907811E9A16FE29DC0
+5DE34029901FDBA7E0671CD5C98AE6826C86AF95C4A1866FD8DB118090494FB3
+948F540DE89125D3413EE9DCA10DCF3424CC3B1FB6A72F111D7C0307E9A33692
+88D335D92BBD3AF63DD9AD73A35E098318B793AF95100B1A6309304AC65FFD88
+D127D402BAB55992687669B2B4AAC047D1B3F546344CFD031A1646914C91368C
+6E3AE7A545E3E527108EFA1C10CA1EA6425A64D4B7C18ECA15A02075E9320933
+F0195466B8FFAD30297BB1D42E1B9FFCD16BAF565470F5BCE4DF29E34D0D512F
+22B4971BD56FE8153CA25321FAA0860B233ECDB596AC99EF99191ECD232C84DB
+37C84B99AFE0156C963685B555A948E3F6D2439CEAF275F6A16DFBDFEBE48CFE
+243195EA97ABFDD3BCEDFD119C20E0AEFD6487DE82985F10F7F222C95D69013B
+1171D7E091C5141F686A04075D7AD2ECEC2ED1C7A7126963009191EC16277FB6
+5FCFB605E3B60775CD0BDE479B9DCAC8D180B315B84A663A5299E605CF207547
+C60A115A46D0FAFDD490220C288603B7BE0E229CFC3A65DC25EDBAF8C4F989C9
+EAEDDCC47B2931CE27742E387D13FDD9B4A7EFD69226A35438DB2BF520CED046
+819358F98D12294DD33A14F38222721D536F0175D55C199094D1BAC8CD8587E4
+24EC0E2A79AA4E06CF6347EC48326E90BA7388914844D802DC61D7FCD0E7E7E0
+4ABF40A4B1FB88D2C23C714670E452455528E519B385B50972FE9B13B951D96E
+C956C968C1C6E6F967C0EB4539BE50C4C3471DF6CA7868399D793915687131E5
+286955D79D94881A7D4ACE3C0D8C78A3D66EE7076899BCE57706832684A17AFF
+4D809FAC1235DF616311B5BFA63B825158AEEC02F93F9E0C78BC94D8EAB4E6A2
+AC93A562F1B90CB1753EE2B27381144C971EB4053AFF55B0578762C2DCD9A999
+C57F0A15DF9466F1B8B7BB709B0B181AA340B9C1FE22016808BE6B35F3E96076
+F52A2DC822BD36008476A3E4DB44856AB1076C42728B858640A847E286E5C4D4
+6BC518E7D5A4AE30AF019834BE952A71B927F2AE2AD3105FA6801611836CE7EE
+FBBBCA8CAD286E66EAC581E7831DF5E8B925E051E7818EB9C5F6ED9F97033AE3
+DB544D4251FC0AC5909290E9F3F914E6E9A2F06BB9D6247FFADE7A5E32DCC9EF
+38F849DA99FA528095D9A1FA6B1D89FB178047583A94DDEA9CFDF330521F37AB
+2E9D935E9CDA58066FF8D98235C8E3760C3536273592D14AF8EED4F9689181BB
+77A5B2DD846F2D812CDDFEF2E88F65789E00A5D4D89538866D5BEB6DAFC08E8F
+9266BC79216E2A4763836636E273D4A9417C1C3B946152775827F017CA7BD608
+957B2703447966436EA160DB8D3C629C8C999CD9340FE34FF46FC4073F3FF9CA
+ABB39F0F1A90A5C0A0C7E1C96582903660FB15C95964B326ACC9680566FC1298
+A016E4C3E0F2F0D1936B813E3B90472910885FB5110BE54920FE0FF2715C9E82
+DA1E32023DDF9D07CC07CAFE230813085AFEC0FDDEEE4DEF4BD4166E8C62C50F
+440606D37D328DAC2BA73E4E4FD47AD02C0D58615EFF441E15EF0898F838CB3C
+F15E6BDAB3FEDC17C71A7B6861580CB3891A749ECD12755BE46B16EF6ED83449
+B09C
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -3914,110 +3565,6 @@
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
 %%EndFont 
-%%BeginFont: CMBX9
-%!PS-AdobeFont-1.1: CMBX9 1.0
-%%CreationDate: 1991 Aug 20 16:36:25
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
-/FullName (CMBX9) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX9 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
-readonly def
-/FontBBox{-58 -250 1195 750}readonly def
-/UniqueID 5000767 def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
-B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
-AEBE70DAAED49EA45AF94F081934AA47894A370D635D93B1823EC35EB8316AA1
-86031FCC99F57CB21E8400E54AA474B57112F0D4754A16BEC19117E9D3638986
-0777A71B135CC18E20E193AE6C2BCD89F4A27516DBD2BFE69FF9920D547796F9
-89E0825B6BD5F492B36AF136EA91B826501ADB1979A4204B2CB5C0517F2B9494
-9B2077F316D2B3DA256C99F7549E6BC4B04FE12072B09B4F5D482A126AE351F3
-97DB85F3026A793B51E6B28B54661FEB087F011F0BFF67272DD1E8825C180723
-22AE77CD6166D2605D0C0F131537417CB60086F08E7197AA916D590944BD801B
-DEE8F29FFC516E11396CCB8395CFEC9262E22521882DC0316B0A129DBFA5FB57
-E656890C2471675E0566FE461028FB05532E274E6DF77E7D320D09B2203BBB5A
-8B185B66B2F8A18A49589C4EE27596DD56260D0D759D2A12CEF7FC3010BA1B36
-85A2FD45129DC01A0C7570423305C25D957DFF9215102FFF35F428C823D549E5
-014E7F99ACA6C10B3C92805376D0F3F280D65852CEA54F5CC9DEF9EC1347824B
-0733D3341B34937316E77E952AD9366D3B2ED045165565F07CB636385E5A5911
-2620E185B105EF6C93890833054E05B6301137338A3F1D6AB2F80095E57AE60D
-6E5EE2764624849978C811EC38E014AE4A5823734C5CEB2BC22DDA46BB408D00
-4F25CA8ED287D35E26A4CACA77D2D4B986ED2ADD3BC0C3405741CAD56DE28C7C
-68E8944967C022CC55907B3DFACC1EFAFD38D3EDDA1AADB6E2C006ECBEFAC8D7
-18ED3C46C331623D8FAACC6CF9292B8F1B407806A0D4808F51A5BC97FFF59BEB
-03767AEC2B6A88BD4C2E4DB8EA66094068C760FAD1CC29BDF625F831CB8C4840
-79C8550C8241C0C7002722F70E6046031B619E5BCD1B56C537C6F6506F83C057
-F489E227B49AB82DECC871124FFE463D8B624FDB734D28DA427C2EE6C4289797
-4930686136A813045E6B9D51EE3E1C48017DFE3A8BF7EC74A4008EF30AFFC68D
-40BDF5300613DE1EC54D2B13641B8C1898F28642DC8247CCB638B8037463E812
-FE021B7ABFA08C2E6FFCFFDC6EFD65622D50D389FDA80BC2BA629B2E6D1BD6D6
-F655E007CC1A29D44288297010B35359DCC69CFC9D49E478697EB9C29857112A
-462CB83FB0AC53F9148B05834F4659AAC50B979EF0AE3739C7AA9B59961D68EC
-C5A1FCE6016EE3080DF24BB9FF7168C25AA22D3BBDA56C096159B3A5B1642079
-6EB3E29CCCF42D243F43F460B28A2D341B935CD72CADDBB84046C8069DF19154
-605F2A05DA4C634BDC93DECEF681B638C5B1E3D4FC0683C80ACDCB699619BFD2
-59F2FBB0F86B3D9FB4F09111C221C1775B0BAD78661EE0093824FA310B9A7DF7
-EA39CA3B8190B7F8AB2B6E6ABF1C56169360E9CE96832A394D95D6A3B23F707B
-D722DB290D1C06626C4FD1C12737919577A7792854A940C25072E7C4A18A299B
-D728CA9969E5D35367AEDF9444AA0EB22DA89A6B52A9325E5063ADFF0426E0D7
-175694C9090B8079EE96F1D3F22065F83AC7E57A558FDA16DBFFE94ABF3BCA85
-3E89AABBFD4A09FEC104EDBC15D90C295189AECF1499017D7FE59B27C0BCE3EC
-EEF893F66BABA72F61410F0DB9EC5F331334F021083B9163C8B82FF133CAB7E6
-AE2D845AAD60D6EDF6648D8427D68AD5CEF520BBEFC5744DDA2839EE0FF64B86
-9A19466E09D2FEB89E852929681AF889D5CE814C9E6B52F1AAD9F9F52AA62AC7
-18A3BD13FCF0371DAA0E2406CFAF4D470F41701957F228A27B828164A67517A2
-458CC82CD884C3463CC7B390A370F60C1733512344BF950875A1077B8EDCF36D
-4B4D8EA8E82ED14D433BB6F07F042DEFB701CA07567A63C75134B65D3EF2E110
-3F77B3CA6307B9258B7EC84F5FB9D95E220F6C4FF3B679467BB6988CB2C9F406
-D35BAF6A1A2866FDEC1975929B21E637B89EFB2C00A5DEC960E2C3A0967AA152
-5DCD2097185FC9FC3BE58903106D180BFC9457CA0D09F0C5ED13F3EF8924FA39
-015B6CBF4F5F2ADD6F1D015A83F279EDE510E4C3D9151A509BCDD2A899AE2E44
-01A565D9387C2676EA8C69644DADD205263DE9215DEB947F90576240F0FB2E77
-E0B61645A865C164A2EBB4D168FAB72C3638A18314517B6E7911C7357E6ADFCA
-201D38FF5FFD45E54F2A9B91A6D94B8984F43554498E3715092B1920CF3798E0
-CB6C721478BA08F9D1788280AC644967FAA11BE8FF42A7AAF6165820D650A499
-1205AE0FC69CBE9C22876DF292EF55DB33EB59D42B94FBF896977A5DC430E60C
-84C3DEA0E57D3417B21CEDF2F31F16DAE71E5BBED4F243B87CF1A2E3F29BDD62
-36B8AE866E809DE2029B6BDE5C1C1016006DC48864B44CA5EC62AA2E248DF514
-5AA10F6FAC16FE7FADE47405DCE32B62A56CCE03AC947FD72B2959DACAFAFC5A
-51BAE60F49DBA29A27716C5BC43B865976D574F0A2849F78455E7F62A4C357E6
-3860AAC2F8D582BBF14510D1499F2AA36075702E2E7DC9A4B96CD009450A1DDE
-0C062541E090B178FC420D195C98DFD20AD65A0E107E198C4E2A1CA081FDA2B5
-5FC6E8D5243851181B12746D6794DA05C9D7B793FA7DD88B2BB7B1979044FDF8
-C728A51975AB24CE3A7F2526EABD97808BB0944BD401E4D1F3A0EF79E498FCA7
-A16EE68344A9FEA77B9B7B7F7CB1084AC615643D3F38004413C304FAFD6BEC81
-1DBA56C37A55E464A124A97AD5405D1FB2A6AD6D10F770073D422E400A633B8D
-BBC752
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont 
 %%BeginFont: CMTT9
 %!PS-AdobeFont-1.1: CMTT9 1.0
 %%CreationDate: 1991 Aug 20 16:46:24
@@ -4069,187 +3616,172 @@
 B08D373B69E5076CE4300137B8805EBCC0AAB89BBB312A77835795E3C069322D
 42C893A30AD739E2BDD299679B158F7493764F2321E3965141B5ED1C6F4765ED
 F46D391A646B30C90002B1C461AEE79E5F094CACCA656CEA3DB921CC5205F328
-A2C69F817061D6C60B121EEE844CA5008F23DF0B684AF2D86CDAD0B9B89B284C
-7F05E8724D62600E309D682BBF4916BC25BAA1C4ACD0DDF2BE84A2274BAD3598
-526068C7744C5C6E474468DFA23DCB368E30F3CE4A5EF2B1B48CBCBFA0E0F430
-A563F675431FA8D330953FFA01C9E69C012CEF00A13116214B50CB8203544CA2
-C9E4768C3CCC0712EE4937356D5D110395A953BBBA93C00B98BDCE70B4F95F38
-BA88CF80CC1E7EE0BBE8B001F71F66F335F7446CA951FD1AF98799036B024985
-ECA90CA9745699BC3B5279C52A49A9FFCBCA452578B43803D23F36A2E1FF428D
-81D6CB0CA4D4E6127E88B6DC231E3F623370F1A8B0E64F6177F42E37A23B01D3
-BF3DD14AC47E649B2E2AA5E0E7E3C6B0666F4E6C6EC3C4115052D91D604E91F6
-FBF5B8ED61B8E149905197C6487D4C6EDBAC0F887AE20A56141AE585CE7620A8
-E6C20D3A092C13A8EC5AEF208A66D44A87245F21957D87FA600B1157E2FFE9A4
-1F7E2BFDA8C87DE7E3202964779A33AA92B186940228541B80E647A69E5322A1
-7F3063D9E49A1209F812E7FFF4BFD25A0E31E7659085A510125DAAD75A9DFB32
-BCA3A4748C377F8979637B33409BD0E4EF751894654CC503C044352061365A40
-FF3E5493D54A2710502CF9A1F71CD1A96358E4B4B40A4CEE17568EC6407CBA33
-AFF1FDA80AA6840F681EA1C28857E2BA34458EB722E780149F5905CF05E92085
-DC37DB8E563205DFF5C0EE249518D1F1CD949B12264AF33E49BF600571A247F5
-C8B967F4695261DDE8C2EA86466CF1B252EDAC5487B505E79A8D3C668A854747
-A5D9A3DC04706A78E5FBB8F0A516718B0856157386FFB6CF6CCAA2442C07B8E4
-9ED934E5351E76229A9235B28A4D3175C15E67186E914B7720C5839B61F6E82C
-999C94D06A01FD6E740F5E276B21BCC6C5DBF56F343C273BF707581F2B694582
-B7D897AC6947B4446504781AE8BBECD83C7EB3D5667F5F29B3D507B51476DB00
-033A2AA36D8A1554A299AC168ED0470A0839404CFA3CCEECAC3E92528021D148
-9A906755D1EAF65A0DED77F7F197ABF188E7484ED2AF663DFC23F2FF04B70182
-9F9F947670FAC63C37E3325220F4BF4FB8F5120C3599DDF146FC9F53C217B010
-0CE6A8946B6F44F0AF34760F4D25C1D75F1017DBB0EB3FB2A7C9B834DB453DFE
-B29E980FCA2E48D8BCD7F453AF3AFE90F44F41ACAE670347582681609A31EC06
-2D89892B85D886A79D18128A3D7105504B6763A64ABF46CF23A29A7574DA14BE
-354BBE17CCC056228CD43AAF73F752B0D09AC146E0F3B3717581115068B4AA46
-BCC3F006F39CD7BA3A03FD3CC0CE0AE6BE363BBADADDB213A84EA03DD2ECA742
-C0613B587975B35F767D23023A5F8D40C0C7484CF3F3FEF432441EC2FD71670C
-0F0364676138B2295A2EA73915F8F92DC573D378189BDC2BA6AE2E6FEDAF5814
-BD1C90FCD513E6FC022409704B69301919073BC7001C663A897B1C92BD9FF37F
-89B989034623A14E9D5540A8C4399838EC08EFC973C6EA5CCC6E7F07324E0CCE
-AB18C814195BEE7EDD1EAB668CDB081C385AB25E02B3C185A5711D79688677EF
-94898642DF7FE1FC4178477DFC76C3850CC2376F1FA5DF86AB31E2584A54F041
-481242D133DBA34C32785CA87B78AE212CE5F93706E6D0418E80F7F70E03C68B
-0F6D5163D6AD407C5EE87792BE7C32D36B9A47A5DAA41A23AE94D252B133218F
-DEE7E90C095A52C8A89887BF605AF6333B71204D4718398EBDD329CCAB5D973B
-A00FB9C65B6A2859A2B96D7CB7E4593E9EC3F0ECF0E92FBCC4F758EE3676FAAD
-ED7F3ED0E15277DF5167A27B6D896CA5530B056B263CDF9578342982120C61E3
-D1D19347D2C80F53CE83CF4F0873BFE9BBD9B0B46FBC7039EE28C306A92873AF
-58D30A44A9D1AC49A2CBFD061DAB80CD4CFF6B8854227D09341153EF4BCAB405
-DF617E81CDB9D74FD1A051C249BBE7EB12256B13273A62B685A69CB28E328368
-0497E3E7B028662CD71A797888E5B21AAA1D997E677C9B78D8A2B4FB1AA6FE3B
-BC3A160A5E40D282B45C7FA2E8F080D357EDA9267C863D24D7594F4262B3ABD9
-91CCFBB6ED2D4867A5C501E5ADD59891DA07C5701F6449CC3F3A5B70ED43A682
-5683730AF379E3E7111DEE7E77F8EAF1085FD657CAC54154B35391EFEF11D5CF
-1CC486822B2DA9E46DE6978666C2834CC2DDF2F64E4F2082FA922DFAF06008EE
-908BF7CC6E6FF7342A1DE6B3CEA674BB3AA15E693287CB112E0939E4FBB7AC31
-6101390396143B5C5463E1D2AC0FB3FFDB0BDE2757EECFE65F2648D641C85F65
-013ED4FC68EB43ED69C994EC6A02167E3D66D521B8993B03BA0588AFD969AEEE
-14303EB1B878D8E261DCEAA32DB4AD6D2A0EF967623D842CE63F5D5FCE91476C
-3CFF8F0BB0B128935BCB4A7965B99875E551534146104F09E3265391A49CC17E
-BB1E9D56C3B3741F1F4E9BCA252101A2F095C3E9024545C5BC356BFBAD6FED24
-D9E6DA8452664F461003A1788958CC64F932E94917D8195F5E60DFD32CC4C865
-5EBBEC164D4050ED64C03676BFC463E1F12AA3853E00808C0DB701B75D7D40BF
-D7AA6795F9929FB2C9B261AE6C5595D5C8AAE4F22099544DEB219F86782E49D3
-F21A3B167A3998623F72EC8CE6E54BE0CF0FD6B01938AC3CC555000E0690308C
-7491C8BFB3E711C09B541A035E58EE0FC8DFAD55F9E1644C7846A723280856DF
-0205DA4987F3F4EE759D1EE715623BF43A1481FA23D4DD16D698FA987A5A087A
-2B9678135BC49174F70DFAD07E7757B6674AA766939CDBEEE8480EA86E0DD3BD
-483D6EC18490176731ABBAE88209363C5C01FEC3BCA237CE328B210A3C9D42D3
-A41B81D249898A194884FAE7C5949E50CFA44664045F347FE82C9A4FA580179C
-3472F2E2F4A4DE7491B219396718C1589991DB8A5B9368F97281F79B6F84BCD1
-71CADE49B8D7735C0DB09981E8A3AEAE8EB7B1E2028CD5A36E39113D14D6DAB4
-D6916937640A7427F54EF354414F1FB61AA821CABD63903879E626D4DDA9DFD5
-21C24899697C6965CCA421A3D46FCB56E2875B785D884BA487CDA39FF8C4B1A9
-9BA2B7BCA9A390833A5B1B9CDEE7A66674B5B9AA38BFCE0D46BD8CA13F8FC3A0
-20494D7D7E4161F39DAF1D40ACD72AAE89CC17EE10CDC5BEDA799D089975EEB7
-E7BD3458BAFF1600722E013054AD69412377B1455F04A2E6B3996DDB6BC439C0
-84B3885AF28605B70B222C5200DA7B4DEAFBF7B309159452D8293E65A64CCFF9
-78C023BC64003E1B2F2BF89896A60217F314744816664E8ADFEACAED3D9A671D
-8BB7A425F3081405BFFCEB7497BC88579045AFE3801C6116F8478431D39DD48B
-8B8E4903A69F0FDCAD68E126A046E9B05CE344832EDFD48C5BA321D5C8913D83
-98436B66E71C9E044259B51784F05E6F893E1B888E438D64235CB135C6F41570
-77DDDB1DE8FBE7F5A5FBD48D48535EFBB4EC643648FAE254A4F6BE4A6BD98AA0
-A194273BC7E1FE0B51529C7D8FE5CD56CC4C285A1BA6489FD2C73F6FEACA599A
-A288B60D83C786453B12EB12E59E826E62A50243D28AE9E920B36CE1E900A28A
-8A13F754CFFDCBE473C09FA4A63B61F804900ED09A7E72A246E55C0496CA1735
-CC5695D08B334870D94B8196F56512C572A7D106848F7AFBC60B4ADAC92E32F2
-E137A706676530751B819859A5287FF49D88DB64B239EB7414FB2A05DBB53C87
-8DC5A6B452D800961EBC15CDA74F1B5F251F1FF17841FD9DF682B577D112DF12
-57B35865A3CF92C22F671B286ABBC2E681E3321FF9FEA6A00B048E7D59721264
-C41B51940770E1B7907247830BA1D8366F54ACEE26636561962909D1F3F1B682
-0218A43BD414954A5B438C4C1A997D3999E572CCB76DF01BCFB59618129B78AC
-060B6C6BCB18FEB1A63D2A3F7C7CCC99343D1323B350307571A0FDEB2F1F7C2F
-B378C6936816CDEEEC141F3906FF8249D836A4C0EBFFD4975C2B8BD04F621187
-EF6D04FFDCD36EB9FBCEB4C1C98A6B424D2456242DBFEB76F75C5A6606DD7192
-257FE33CA698116D60467F4B5E521C2E26ABFC6406971D852F9AB0E7C609B35E
-DC7A96721B1B63FFF8620A2F52F250FE512B95265D639818869E3BC11B5D2DED
-1C1E27C3DFF094430FC3359618C00B3ADF14B13929EAF1F0A7E7AC270AB80899
-5ACD29E2A10522AE8FD6B492CA9CB32AFF080CF6D5974926678D3A23D0228AAD
-8CDD10D7F8D5FB6EAF5FA4BA682F85EBEC7C2DFFFBE3BB3008C90674F5D0BCC7
-41156EEB016BD76DD0A7D117B50856F8E490851778A9DF22BED937DA30E0E578
-14CF602AE76814FBE0FB95C8A2D0B0F9429BBA96D64A464B0DBD55FCDDC0FBFA
-36DF38DB55629DCBDCC2BC9577A8487E8EE8DC96CAD6E59A60AF94C85D807DEE
-21FD7D40872D1A941859E92A22D21C5041F01C336EC83A8EA14A52E628F7F1C9
-15FA0E701CABB0944E0D1C7BC1CD8CCD692F1403D26742F221283F7EAD3DF562
-EB875D12FBB4CDAF455C67CDD03B3954FBB1A7123B06B94B368D26DAF4EF7CA4
-7FC76026E0F0F51073027858C008D4AE7DBC50AA23EFD98A56A0DFF92DBAE8E6
-6ABBDBDE4055876E3B0118B7C0A0DB98F03D0206CB72CB42F5C417C783C8CD60
-33DA23EF566C17887A199E2B331678F95DA12A47EC0AE3762B108865B934BBE7
-1D9CB5D5EB5D91D092930F7AF91BA46CC2CC872A0FD93ED66EBB4E5D76439358
-DFD609BE5527E495173115FD823DB5B40AFD85A1F20F317A5FBFAFA8AD935954
-1F8AAEE5676004FE57176C1B9A3E015BEE6D6841EE9E1F6CDDC8AA2D32C498AE
-57F8E4956494C5235592A0094BECA939406D22EA8E52F34F22F6721B914CC3BD
-34EC6B422126E4591C584042965DF903593E9075516167C4A3D58539BD15618E
-AB537C1ED92C450AEB9CFA97EF8633C93972BD9FB43DFB6D1CCA3977329A87FB
-A6AA3B0037AD1F90D01F7C637AA1C49C69693039395FEBAC024E522CBEF68CE4
-486D7A6AF67B2EFE8ACF98395528243690562190AF5F505E4B7883C3D5728AA9
-F20D30805B0DF2A4EA9D5EC6EE2A278ACE38E67E66ED9B2E889AC0F1C445383A
-9E3D4A5644B7C68F419516DB783E2FD6094C748EF98178B7607DA566F98C8D57
-0F2C84DE51103699A136B8F0744660FEDCF6F4057C72643EECC14849CA92AF4F
-BE043EC5B3EEB725A83B6552141F0D8724A41B65F6579BA256F14B503356203A
-8B6C208C2FCB556845CFF9AD77F1DA67A77D8981CBB978F3AF938C5395D9EC37
-14A52E404075AD94F95B64EE058A2C18C6133EEC490998737F401A947C6CD2F1
-E1D50D958983CEB70C07573D3CFDFD7368BA6AE08DB120C967923C4B986FC86D
-0E2134CB815146B5EDEFFABA96644707CC1821B36598F0A12FED0E4886C1FEA1
-23DCFF783F61B6A48A0CDBD33A6AE0E2E95F4457D0EFC648D097D54EB4769A0A
-89A6590B9DB75DF410883E7FD0A2BA369E3C62B4C14C311D93D7D472AAE8ED5C
-F2EF01604215A12FC1308489484B35FF1140A8082F113711F56AFA4FB5FC3D99
-E7ACBAAB0AC90125C1E536C2B49968207588DE4516725097AA9C61751C8C0E8B
-1AE2FE2A306C2FF1975D26578B9B61473DDB55B4FC84C4B8FC9E9CA2FBDA7685
-EF3C838F461590BD11CA0EE1B846629DEF939303E00CC19505D2845B039BFC9E
-169A55941884B6B42D03FE0B2DBC9AB075DFD6B3BCC3926EFDC89393613F663B
-F4C37F1B260F6FBD8901A04DAE0431C59EDF634E629F88F0D925C9C766B42A51
-800C1BC1B984DBECDF049183D3DE912645B4C27EF8E43789EEA3E46978C2A91C
-08D9C4EA40EFF790B66EAF7B0AB5F86FC671BE1016820A842921CF5C5A1CDE90
-1BABF932B8B2F8286F7DE072237D9B4C4CE35D2CF6DAFA70EBF963F99820373D
-4019AF0DABF0683D37C2944D5969C16D556D46C5C643D1D526D24FE084F478CB
-C118F9AA92676DC33EC88B68618DD3DAD29C55C7F6F03D276D47CB32B00AC950
-330B5D24F382F104388E34AF95ED7188B7F177FCE9443082B69F4CFD8AF49B23
-02465739EF1CA21645E7CF5863989ED53B559F59892E83783D2B070DBE285F80
-726D6158CCA2E8E1F100EEB39DCF98EEA9B0ECF0FD5704EFD32117620A03AF41
-003459EDFBD282D7A7E9127CDF0E1F75C0B328336E93D59478869363F7E26513
-01EA6DC559D7504159C75823C24EFAFBD0418307AF860293F62982CDD9A416B5
-9EC57F9B283476EC0EBF4042C4F7BCBF1E1661D1C49077FD8EDFBD7FD7A1F387
-8907453945D5EB21B4499F8D1B6097E8B1D642F0A9F8B3F37945977C299BFF33
-F43FEF0780374FE2F8D0CF0E1A3C38FA6D5DAE1533889A9451ADEA5F19971C0A
-0B7C84B72333C95B0D760FC9DFC73D41A0CCE826C0C82BA05ADEB82B795B7052
-A52B23096104A98EF8A67885B3B090FE521BD9DC98DBBAB5D8A686F35940369C
-D205A307D9495C1348307FB52B4A23217C224544821D311F4CD4BBD6604D56C8
-8877AD44D6F8BA2A9E76A65647DFDFCDF7E2F8260ABE1F70EEC3C5EA5018C64E
-92EA9AA0822B3D5D41AF329A245C0FA9E2900485DDA924827269E5C599E4063A
-282300382532DE48074C198419BB638713AB82D30F96036F28E9867D60BDB908
-25B8E6006B87C9BE7B32F29E2B3CEB5ADF2423C44E874ED480D3133145BF1D10
-382870C5857E51994DABF9789901F71550660AE62502428EB6CB408FE38C0FB7
-A11D0BA74B6528BA38B31891CBF97B504D34B180930F3342882DED1CD8941272
-F94923D9A3FB80E59A02AF1C34EFEBC54B1B60EFF404A85B3B1D6396CF06FA4A
-86A30F3FCE9B25CD349271D93094F97F172D54CE02243F2FB715A5827C7D6536
-98EC3ECCF29CAFC4FFFAE4742B4E34226BC7937BD84FE1AE1257BD9191E55A9B
-1475FA9A8839D71299CA3EA1FADD83B0099A45081E156162B95BBA987EF22BC7
-CC1C5836DD5CA033DE4B1A3B7114DBB1E9BDF040CAD40EA273A2E152D159255F
-EF6E3E7190B8DF90DCE8BE773BD5D9C4B7972422DEA2D8324A7CED37FA39FF46
-E4FAE54677A2712F290F6598FFF6D21C1310F38242CAF0CF1F2B968551657AC0
-72597C0A7FF9DA2802BD050A2D82BF65F1E8B08637486811EFF2AD93E5F2BA75
-E99D106924161B23E182F24D8B0ABC7376B1001F32A1799BED4534EC5FD40A23
-41E82944D8A3382BBC639262E5361819ED2693D6FEAC0968B93B7002901AF03C
-230912E19BDBBEE725B8805387DD977FB9023A56D3EA75376666A9BBE49A7DA9
-98AFE085017642B6B7D1E4320C1E5D68F915129D69F137D1C3A28DAA7459E76A
-655DA5925DF7E1BB9A87253204A26D2E4188C8F269D7DFDF1B99140AD4363A16
-753E61D097848C74C3C6C8FD066E9FE33E62125A084E6E4B5654266AD4AA4E08
-E8B2774358B7213173B7E6504E281CA5AD320ACB662A2A15D6A7307F82CE186D
-7DD20F0331B2DE86F02E2E7BAF5D1AFD192E05AE1920B606FE8FEA00442AE158
-0C23784BFE00B40028AE055E191D21751A15B123397FEBE18F372BDB2607D792
-E1E3874951CB4C361A5D902C0B14D6E418D68046B062191465B8B926841A0467
-8AEDDE24E2235D19143E49AFCDED0A17377E6832C765A2FAA87DA95A3A7E9AF8
-14B5E7C1FEF4705AA9BF3C6BE158BB16326FE8E65A51A45FB58F5E5834823A07
-7B4CF384A9CEBF3E35CB3BF128AED01ECADA4F0404AA0A97A4B27826AC4FAE1E
-63F915401785072BC3DC38607501A9EAEE50C128408684A840EA352E30636FCB
-593429F9CAE5DA3685FA4F211AC947D0266634D95690B89AF5543B115402A953
-35E153D464E4BBDD8E6F256D7BBF99D5DC54108CAAFD6204C8AA2EE845CAA75A
-51F06EDEA9BEB0F7A3EBD26DA0F4C838D08CDA369E7D93DFFF974507514A32F8
-32CC846433211C2010AE7F6CF6F6D20AE62BC2D5E39A80B4FBC5D539320613D4
-163E81A50C9B415F058E626B5979E6C8AC30645E1E07233A01E6260F31C907BC
-7870DA8770AEEB5F990D24ABF76F9CB70DBF5DB7CD3FACAA638167E7CD63A1C4
-2E1822A5536B0D38CD473B446126604BDCE90B9100F2C341539D122AF1230272
-D907D8B43E5FE4B51271DBEF177AEA119BB1DE911C993C8A251587B18A0B266C
-1A9982BCC6C632F1F0D1C3B9CB10F70836DE21BE12A332ADF5C68D170D059912
-A1363C2E052B427B1C575065F859E063DAD71502291037FFC674DCAD6A7FBB
+A2C69F817061D6C60B121EEE844CA5008F23DF0C1F07A031FA8BCAD51CD606E0
+E27F866FBE3463C39D5C720F66A6B6AE7DFBB7500DDF9DD34FCA4CB69C5B4BF2
+A4B0B81FE2248FEC6813D07D461D416282335A8E29D8D73C0021B291FCCE3949
+F30B89F6942CF15F6F6748429D03457F4DB5102ED5CB6E5B91B340E4FEFD9B55
+F4688FAD0C4864D91B1289C715CB2F0DA04ECD52787EE42C5D6389BF1004E1D5
+A560F501F9D6FC49900E7C7292E5C5D3B2FF02ABD8A5A3DFDCC1BA2729D541A5
+B402E78C7F4A6B332BDE5C3F08638639C71F22C5D47156C5E18E8BF888E1A0ED
+5CD9D6891D252CC5BE8131589070EBFCBDFDDCC4C6E7AFC86DB4008D932D67C0
+BCD394C7A7B522562BD4F01664FB4CA07F9DA8D15601947D094B22296717ABFF
+C23E14F90B9065B2845C2181D1A8661A0A0E0334F6F12BAECF2C6AD5420A3DF9
+F690AEB502DB4EDBB576D01D05C5C1AA8656DD1BED19566DB13A605343ADCD63
+6C7832B07DF3AB46BE714187F8FF41CA54F8367E7E650C0F766937F8E6F4A931
+2534688F715762E64612D548B4626B52A43BECA447E809D6083C1E17D7B62AC1
+1C8A9ECC73B4F9D025DCFFA9D932BD0C55FD3A02F949844DF837E471E59DCBBC
+F0BF294FA5A741DD52BFC6B798976E4658B6860AA96B58397578EAFF3E8AE8FD
+29E0277698B353A89AEE10A251271CC7A5B3F8488FB8D69B010F436DCA8CD5B7
+722F955365DD5572E31EF870474B52877CD66F3C71BAE84D7EE1DAB8A2B1F133
+F993C9E1AA96FDB78A29950E203DC5869A68735FB04E196007993FC9ECBA9199
+BF228B11189A32BB69A2630FDBDC775E2C9CD3D2A9D51FF6D652FC069C718D20
+26116F98791D25E4F050E4022D522D7318C4A1B9276ADE466F649ABB4AD7CBDF
+322EBDEAC36341BDFE6A6FD76B461FD15E14550DE10F9A51EEE063E9D10A7E9A
+93AB972CB65E3764FC51E8FD5F30FC71591107689459AB0D9BA22F39256F208D
+2840789291EABD67F13019839782A4AD575770AF80BAB74AC75291D6D43587CE
+90FDBB64E1AA7613F83FB885972B2AA65366FEABF5FBEECE621A96565FDBE74A
+AD5C20271F1705D5865C7305F003830B4638332EB8FC167A78E619141015FFBB
+3DBB0FE8ADEB85E4A31E6568AD5B5357FFA81F40E1558BED4030CD04625ABE06
+389A0BA9C8F73205A0A599E967962532B681FE5E5E2EED371A79CEC046012894
+3B2BA6FA692FAD00BC9B8F4F63AFEB28A389A46A2B3DD8DAA4288ED416C9647E
+6F08BFB77D9D6FD9B0C452ED8D889582D8D3BD3B2D44CD75C8C42F502510819E
+0D360B7BD18581D62A24DE7F9AEF44626C1ECFC953BED25D75FEC06EBEF110EA
+3B39368D58E75113E881022F4B35DE0E0D72546020417332556798CAA77C2C00
+70205FDE727F03E8DFBBBA2A3119F570F3F95350B1AE89A84AE37EAD1A4C3109
+7F94391D4D8B13B956B467F531C7E86BF075115D916ACB35871B03614CA48393
+D965E29419835D46AF3BAE677E4FB204F86C26393A1CDD7D46A4085E33120E0F
+AEDB093E00A713EBC16836CC4BE3357FE28A30A511C737ACDA4329C4F234FD61
+6367CF6056660EF34DFBE5F1E5A6002AB6D2FB3412DDD7194150BC15A18D4B6C
+27EB1D33D5C833C9EE265EBB1DDE6618BE7688E275EB18A9F249D6DF6200D90B
+4DDBEF2BF712CCE163EAC69B37A42C52E692D6235C9779146B2523F5567BE06B
+CC8DF9958BC5809A10FE582924F4BF3458273CA2DDF9384385B3A72BB6D80D0A
+BC9584791208CECF4D07C77E39E6B203D59D92871374372C4BDAE9B16E802947
+549CF6175BE99646519BA3AECA65C81E8D3947AF78EB31D765441CBD5BC58966
+33F571089D2B71089ACB67CCD513F6B985AD868E6FFB58690E18CF7E2670911C
+B68C092CB3032E8D27C9A5D94CEF2D24F82C8D6C6056DDB82B0EE24CF52D278B
+026163AC4D932C7FBD9B118C8D700EBC586D44C916E06CC6B6FC6FC3AA275329
+4463542C0A5FC32DD02392EF9C20951980375B5886F595AE120E1A4CDC0ECFC9
+BFE95295D1E159EE2ED0582A4E8246AE57A33522FAA14BD70E363315EBFA488D
+4A33565D4F5998FC910DA7F01190B58119BD8658E80526A73EFAAF1528DE23C2
+7404AF71B57F31E47D4FB0B5A7079409E91FBA13A38A7F373176F72406CEEF72
+4B6BE6DBC40A9BDEDA2DBC441CA2ACABC91BC1DC9041D8F73711EC6C00C86D87
+F175953399CD7351C4B6E27A2C865439CFD024AAF4050C1221427F6F37A0B48E
+74291F1B4D93BA08F25C9BFACD790277A7F8F7C9D54752A84232D72ABE5B7BDF
+21E94C66B10AEBDF3FD3D27DB97C21D79093810D02141D1B6314AD0FEA1EDA6A
+A417E640DFCC97E50630019C684E6EC4B544754FB4CEF7A06EF6CB94602FE774
+5802C8683A15C5318CF3B63C02BEABE8CE290063B579493CF4B32A40F3190ACA
+4E1D723CF3F38A21924BA5F694E11FE08CBE066CC05509B695F8C793DA84454F
+E9A828B537DFFF96E6581EE8CA0D98D3673FA77744C4B4E13F80E80260524C9E
+6A13998ABBD6F57794292247B8B84D3F1D838FEA6E85B3AE071AB0A3F19E2E41
+D5D699F3098E84718237A573C8553B8758791BA3958A10055614B699AB4F0351
+83AD1FD4C429CE5227789B612F284DC7E5DC125A5E1C3A3E930B564ED0715692
+FBE04A5E509CEBE2E484FB7D873DB66107DB4F1252D1279575B6D5E6EDE302D7
+4869EF96176E73237CA6E1CCAB230E0D414579AB7968B6F88FDCEE262DCBDD26
+871F466B6E6834C76B37DEDB7ED260F1C69F1A849B8C99EA3E4BBFB3B64D8307
+13E7A767E6633A33891B409E67781E6D14BCF865C21E810768E9D2F12A728977
+3180A545C339D5E21BC65CE634CB9B267651AF495A6E76E3181D693B8C3B5337
+D492FE8159F0E95F4F0356CDA4C41D3F4AF5D48682F4BFC05F97EE14A6C18750
+4E0009C36B095A1A73A1EE0E0DAB338E300F1FE3EA3E277B30A0C11D68FFFAF9
+D58740B0EB97ACD1A44A4EB46BD25F682EA7FE0C61091549ABA296E57869AFAF
+06C5D18B698868CEF0823D13EC795B23FA9B016B65E358C5B29351C5A361B4D7
+4A307335AD42A93F27EB6158A7CEF748B0E6AD60F46D70BACA5627F690FBC3EB
+EE1F76E8081E498B95124DF4F6364BB1593031C596C853E5C17234AC637BCDBC
+963FEF0B5DFECFADDF8D82B609C234AE4F8D20624209C69A809DE35690982E9B
+86DAE0E61B49EF7423BA33813A47287CFFAD939C9BAEF03939C547D95CC1E063
+00B21DDF6B305E0A96A220A6D4C222B2D43B59ED85F6F650A73FAA694E77A5F2
+978947AD4E6306F2F0203A1783B9FDDCED3B416E5EB91DC03B5F5F081F1E336A
+7972E36C70AAF8BA177077CC8C8DE382F482E63A150E01E497E0B15C7DBEEBAF
+5A0EB9521779F7615139D484462BC9DED598A01E935A8C62B2B758A0D6D1CF6D
+3193850DC0E356665C5CFE10D8ED1098E5B50704933289420201CC031659EF6C
+EDFE344E9ADCB011B3D04F7455CEFA0D8E832C4CBED4CE69107EB7D88F9ABFDF
+14B54271518BBC4116AA0E05A19B4DB15A4188803B314853AF13602369B66065
+D96CA8724074A60FAD95C1A8EF138B99B267E2624FB34598F389DCD74DA922FC
+7C8C84625D8E5E54C63004F75D39BF4F1708C984902134A5895FB64F65666AA5
+30469109DB230966336B08850F08A390C37C004CC02955C534D8B0E2F10E325D
+C16235841BFD1151F5FFEE044F6E43C89921FE7367B56FDAB48FD3909BBD6DF1
+B47ECDD2F26E50E0F911E16396552F1A96E70215EE4DD026DB9F7C1A9D7E4472
+465BDB735D63DAD1AC7C8CC5DA1F158CA11DF9E90508DC55B85E9E4F1923A303
+8CA1F092B9BE62B354FF02E4DD6C38ED7507AF9192723728B3269C2C97873D7C
+7C4B59D037818C62E2A5FCD77FDE2577486596D8BFAE5D265217EDB6EED83F97
+F0F470F64AB5ED4DFBABD61B7BFC8B62FC0869AB0FA3A6D68D1F18C10ACF5601
+E6B88FB780A5CD1199CF83755962BA906052336C1BD6C376E7AB966ED0BF71A2
+205D3516E82BB9F65E6584A25FB87C28E2BBF8D283543B03E61ADD04933556AD
+8CB1BB0259D1A9965AA156DDE2CBB21337A5F73362E4D1C49F9FA990DCA8E860
+7EF54197408F9B221A1046605FDD48690AEC933351346E9A6C58E6E29CB61D2E
+CA51CA12473A66A9D6621784EEFD83255560B60782106AAEBCF949D8084D58EC
+FA889F9505F1E373DE40161E3F05AF1BF4DDB1AAD740F177F751134EA7DD277B
+0BD54A17AFB8DBDA5EFBF5BAAC9D4D0C5F6E9F0E1FF2D853086B26B7DD918048
+02FEBEF3C884A5365D45E432187888080B2FF2356F8DFB1CDE61B5FEFC4D6AA4
+0ABA788854B3CB02F8150335C57A4F1E4AD2F99FD5FC509144642FA94266142B
+22B6E7C11284149C7ECEF36F137314C1F6219D64E8D1494DABF1B9FDA6B240C0
+0148E9697AACCFDE3A2936EAD7782BA3D0DEF5634E525892BB2D6F7D5523F0B5
+405362D8F71A013284E02EB821B05F074E5A94D270A3CEC582BA31A1DC20230F
+AB457F73975F0EA3EFC527EDB3BEBCBE4DCC36C0D7F8E04993B96C4FEB32D337
+CE19F2B4BCAB6DA75C3D89220A341B039E3D831EF8BC3151163F866C8DEEE5EE
+7DDE35FE77E6430008C759CFA190C04ED65F89FA0396AE2E5681D88541D0B7F9
+0DDE0E94EC5DE5A89ACE8E700A54C0CD5AC8BEB929D977EE51743703EBD87429
+96DBA971A26A7032DC43EF6AB1F25E51528A15D010E1CD25DB5399889F0DA214
+C17D7BD99106E4006806FAAE0B6994E958D5F418B5A09A8471004EFBB36FE7CE
+7E1AE1692FB32224DB234EE60B100BB8803940A334793F1C14FC1774C29ED64D
+5CA9C614DCBBF8F284D3842A73E95F113D351FF3FE2073F9852C666B6BD05179
+B1A85BF1BC336D333827BDF8AF4AB9F0C9433911D5F448E071BA3E6C44C63151
+2D9FA014AEF8102022AD099032106B1EC74B46BCCE8D6323AA18AE9597F710B9
+2B962AB257543BD69AF88D7AB90FB69CF65F9EBF2D59C907728A22BA2D7C127D
+115303F697947A1D463075C43A28C0E4E577FE193698D99AF1CE46D93B7BBCE8
+4722BA9338AE3E41658537FB14A03951997DA2A232C2ED6A4571EB7B4910B685
+DB1287BFEA3C31740B9F7D81E418E30CA5E7E79525C90D0CB1833AEA350FF55C
+8F53252D81040D409BB86871A6C236934B7FA9FA40F30395312A3E8EABE227DC
+D2825D1FC200C223BDF5BFAE93356D7CB327686D1C64AFC0DB278FC00962F1CF
+8798E2701BF72955560596B0C91ABFAAE2CFBBFB8A70A9A464A6CF46FBBB97F1
+7040B7343E9A01202270A09F07D2D7FFE062415FE02CEB0BF1893EE9BC752E10
+9333C8830466E201063AB47DC921BA3B979A89895EBD2060643D366CB993FDE9
+39C89EC30844394CB6C08BAA5C9821B7D89AC62815D69AFBE93E1B76885C45CA
+21FB06927C624443E4062530D153C50ECFD70B572155873CBA6B85530EC386FB
+ED4E72CCA40E99D088B3BCA05D239464C84E122C49298CD42E439BFDBF229C65
+19603925B5F362D372A2ACCA25B5DD25C48FF418B5B76CE14F8A697F781C94ED
+A325C3429A338F69B33BCD77A71F63ACF2D777A3D65C1D26E3AB0582F4938BCA
+A0874D66484EE88DFCAD12134052D8EA4BF6FD014141B44DDFD0398D934E6AB1
+6EA763EAFBB1C2FFBFEF0486105AB480172CAE389B2CF0D18B5D936CB83E09CB
+AB84BB6A0D7AF484C7465D417D42D01097E7DA420A830208F0D6314EB781B3F1
+F7DB78F99A815EE31327F3E03967A54C738B362962ABF71309D7EFB91A1794F2
+A5731067314D3F8C84AF865136253AB095F90724382EDBC4DF68B41F3886CA17
+89911F0E719FC062049550A9144177788C596E993A3D357552A2845637345EB5
+5E2292D1A23F3E60A7EEE000EB3E26E3A7A584D6E2DC7F580F95B90F135C700A
+D3BA8FEFDFE4252B33F5B99F4A0C28E3579062475739D0FF52F05D640D512B02
+D5DA46091B680CA27BC08DF55C29F251B0DCC6F47D0655D22B37C10067870F6D
+C564F252C3FC8C7158DD8771057A3D427FEC4BE5661C3F65AE1417B192E56182
+194D48040C6FD6B325B9FFCEBA3F17F439813D80E71922FE0BE16ADCED13D39A
+437AEF27DD4F990338EF8678F969CF1B459D7333D6BA9A8344CDABACFF216123
+0B081D54CCECDD39FB216738B3F2D31D7CA67ADA5A76775564979FEDEF0373A7
+C55A4DA48F5ED71F86F826B020C90851072F9FAE39D5C3B1BA04DB0B313BCE77
+FC866DBD4E257D2FC1AEE56D5586A4BF050C8252267102C21F2B60BFA2B2F0E3
+7BCCDADA4EE08DF40842565E52BAAD1808FD5B35B64DA446F5424FE26A3FFB5C
+4B06B21A508AD6D3E15C74215A8D565EDE923EB8FAFD963A280760173FB4C6AF
+82E8DE36212CB21C0BF2C2A0ADDC0E2B3CA2A16B6CF4C21D7D38F0FA7F82D1E7
+DAFD6555B8D2B2699F2DDC2F6B9E155B0F08BC928897EC3D2FA22B2A81D5AF91
+7298FF4901EEF1A603258F4BEE73F3A048F93459D8CB45C0FB7CBE1C05104FBD
+12FF5A2F00B0DB18EE9FEDC59646AB6A7BC21AEC39FDD626B53AC72E3607231F
+27BFD5A3537A1395C3378F9BEC65DAE7097C87AC54C10E91E5C3444062E4E518
+558EF811D89157472F66F62D0BEA902DEFFB0804830B391F0925E9E315530EE1
+9AB4BD2C969074B4552AA119F49B4B674BB3AA81D7726A1AA2DB70DF188931BC
+05E694BF890931BBD12033F883357D49F42113A43118282648958F960545C183
+3F2DE8093E31A9651F05887D076DE8E768F436F38B8940440B5BACD53C0D7C3F
+236BE8A8AA3D321787E995ACDAFBD35A2CEC92A47287BDF6859A83001F59D273
+B6C98318457858EAFCC3462405F6496C3A4695EF8553C5D86F296CD86DBB6C02
+5E861A9691CC07BBB41EAF3BEE48A4A54501D160E6DDE49194906238835C8FA5
+E15951ECB18D9E2B97AC76FF5D306015BAA48ADFB85B50E0A59722BB643D9B7E
+FAB36A696F84FA2389FBFA26FC00B613542591988343B9F5786622C1C2A6184F
+6B67073C69C07D4DD9F8CCC8E84ECC11EF66235A40218EF8C822FF0E5BFDCC12
+9E225FF55A9AAEF32CC72C358BE0EC157C28D55C39F3F59A3926F9D38234A34E
+EB1F54951FE6C078F42383FBBF92A95AB40D734DDFC147106258E7652FB579EC
+A711DEA57C1E5925856C429C055791B3616B9B7F7C4E3E9EAB398717EBCFDA8E
+79B61DE68E0DED3C34AA6D0E1359DDD7992D407540DA850A75EAAD6764E945EA
+5EC69181BDC5FFCE65412A033F2EEFB7E8BEAF7155993B81D8D0BB5AE3D96902
+41BA39429CED702806316463DBA86A4264C36D10398F571D2E3745D017B59DCB
+536F0BC3A05A721EDC467558CB4B57074B4FD4682A684E92CE6A5D357DCE6194
+9C40688A8223864E55354C8D47AA8E58F596634213C0C64EB52A8E1511408FED
+8EEDD34316132C630D36D7AF11FE042383A48F89895C09D1A5F43299EF1CC5D2
+ECA159A81CB0
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -4928,6 +4460,167 @@
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
 %%EndFont 
+%%BeginFont: CMBX12
+%!PS-AdobeFont-1.1: CMBX12 1.0
+%%CreationDate: 1991 Aug 20 16:34:54
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
+/FullName (CMBX12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-53 -251 1139 750}readonly def
+/UniqueID 5000769 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
+B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
+AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
+7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
+20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
+B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
+68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
+D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
+26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
+F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
+77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
+BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
+C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
+30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
+148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
+E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
+E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
+337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
+0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
+472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
+A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
+34CA95CE253D43CE484A4988A8A48CFBF90D270E9286625C85471A2EB7F38FA4
+34EB9FBDA3943C873B3EE9AC29C25B8E8871D8BC351A145FC6996EF4FD40DE13
+B13EBC70FBE696BE42627082A90E595D9624451079C78363C2EA5B1C444B5476
+583BEDB58A28DF8A84489192AA68657059D7EF6DB9DAC2AEAF046BB26A5EAA0C
+D131A5E86EA78DE50D398D9B6EF03106E96DF9A9E0CE39CB321C5D02B2AAABF5
+94AD08C2A6CC17A27D01BD5644CFE4E3D3D1656A549CB54186BA6770A2BC20E4
+04ABF8220B11EEEEC37D4D8A5BC1617EC1641D3F9C2ECA670FC006FB1FFD9341
+4587671F4E61B3E2296D4F6D56B2A31A1164DF9E4F0B9CC664D6CC756CD723F7
+ABC1EB45ACCFB4F1759C2033A6F53A3D57C598B533F627794C8E33EEAA2FA620
+BBF596CAA44E758A126AEDA85EA50D5A9D9663234B00C27177AB587558735465
+58BC0475F62419545ABA0C8E01DCBF9F957CEFA6D8BAE29880938617A53B9188
+582ECB3F604800414F6A82B328FDE173B1FEC93F8793DBC13E72AC0D2B109E2E
+68F2446458EED8603E40A081ED6A42DF179D19F4987F7209B52E3C376CB451C5
+EFE8B58C5C781A09695D61BE4D04F909F2EC4571272F01234E00F607EF2CC292
+82EA6C0FF8E48F08375EE50AFD6B5389242EFDECE07DBC01786BECD51B593FE8
+AD266705B65F77AA3E79A7CD5DCCD08B891BE057813E3AECD0EB731B800F2673
+66ED2B92D4C1076FD8A738EABAEC08F6874E4ACF5D59964A700ECD27F2EE7745
+0B1DE2FC87A2DE5C2F6798AADBF79D8AF23AFB475DFC4BC9436DFE530B256FFE
+5C048638D09DF6C096163D66DD1F4AA7BE987CF1747326776FD01BB90A7FF8C6
+761645FCB4EA0CA06446ED59853900821AB9E471D4D27227A356A412D7939EA8
+37A08AC3521EE59D9F19CFB6A7A584E9F93B5A5A3F8656279960474165DE8A30
+A4C663AEE32D1136F0B442CEC157544CEF826027945A488A28344B979E2DD4AE
+B14ECC9B0E5A73896DEB8568D37E314BBA7BB8959F73B7D01E276B1830624440
+FA3164A2C29C59C2F1FFB8401086B7BBCCA30EDECA14F54E06B08DFF6CA1BDB0
+829DC7E61DBEFB5A5EC9EE86C2D472F6BE8A3C56FDA4FEE2CDB7692DA1BFEB72
+5A0F2AE43084C78F336F2D89CC8FD3709B25539D62B454E6A04E3EE2C97F0D8E
+6ED78EF414CB1D63622CE9E10BAE5816292C33AEEBF548CF2B5D94623EB8E511
+3334B355E123D6E4E7E3C53835D13CBCECCEF1C51DFE1071B7E569A15ED96CA9
+62ACA1C3DCB706A4C02D8E42405CF26BE3C818A8C707BA372442CF28E3163A0E
+D1120AF5F1300AADBBC1916FEA6D800E66833AC496C79CBCA32E4EFFFB970779
+020C078BD405C043DA53F72E5FC9AE8267B438FC8BFA54B16ECD6AE85D58CFE6
+B016E66FEF5D09D6F98E5B9FA10C34A2A4038A31A1D4DE53EA6A1DD34352E80F
+04C88A9BFFE7675A041298BF53A9276C5C41ADDF5F8E1B5B9DAF14B8558EA38C
+32CCB779ECFCCC96C89070689B435E5B2170ECAE2FECF7BD61C56743ACCEB167
+69682DC47C79A5D15A347E3402887B5AC0F37DE50552A3B1A78173F05E51FD40
+272D9A24636A091B8838E95EF5FBF2EE5B5F8170567CCC2F0D2A9ADE544BED5D
+F5E5C7620094EB9DC27FA91A102CB3C18513AC4C1693963F36CA8853E43BEEEA
+6884FAA2F377C5B6038A6C88797A7D638E34AA75E1C9CE84AA7066F55C54DDAD
+AFEC3AD6E30AF343F1B959A6716C77E168205676A3B1A925F8C077EA24F71601
+D73911656C49C9F802BBF2A2EC3E34D05253B983019414BA901848CF85A92101
+F9610C964BAE05A848C9CB782229AFBB4BA2D001B253C307454458BC7E566EC4
+636D341B94159D40255545865CCD8A8CF439BF4648986E2811A608DB4263E138
+7EF44AEC48BA7251AFA45BFF133F240BC1DC8856D691689A8475657969A28134
+A3D0523EC9DAB3226A0DEF850FB72B4A7A73B439B2B5C7C4F436F2F38C725BE6
+CEE007D38A40964C5E3827545892642BCE4F75F98838A51246229281B91F5707
+D941D76130EF51557D83D8158685882304763645F7B09F75920953D4D072722E
+5EE90E58E8DE2C1A135D8D0678A559B40F25196D9C068BE4533C4F62A47E0B19
+CAD3925AA7931238325F85F8BA4DFE85D9734BE3ED9903D93011343326512D97
+B5373894E16E0EF67CC4F9CEC8D703E8E15260229BD83E6918C4AE30B916F52F
+02ACCB8E209B55DC3BDCED71EF713CDA2D05F7367916F4D417F93A8F8A456C5F
+9381E360D929FBA9AB0FB3DC5B7E721935A1F9EF16C58EFCBD69654EFB9DFE58
+468C2619072CDD0EA19C3AF11DFA2124646BB8C6EE6B3EF5ACB71F2C05D644A6
+B3AE666ABA408CBF81D25CA2B8C570C14E694D18D391CE2B5C08A79287CA0023
+2D5E52D9941219C8AD310E719FBF0DEB3FAB90BE17C32338DE7CAC9E8F1B5E01
+AF57A9C94C554B640C10BAD1A5A2C21475D0E8B87DB43F51A1403BEE875B4027
+22B651E98E8A299F65FD101ABE3312AD85B4E4B4DEDED913FC4F86FEC320EEF4
+19BC9B250A48E0552788C82AEDA05DFB20B098054CD6B56AB3FBE061C5065312
+2878DB8682DE35202ABB8CE7170584DAF43DBF6A2540B12027766BE2B9EBCEA5
+49B7F5F65F02260CFAF4FE15D59EE3378E36CD1D71EAE336BF3A8F49147F1D7A
+3034C23BE5EF8380E02EE1604909B7686B813E7D50070A86B47EE0774A394B5F
+BA8CE75392019B0BD14EB9DCE89ADDC74CECF2A822531F0CEBB01ED00E3B8253
+A55449F5FE3F987B28B89E30EBE3E6EA34B123ACF091F99C32CAC583725067DF
+9100E23E81B49C5A314760465931829DEF8C31F15E43BE6605D7CD290E7C8D63
+77A899A9722C2BC3C977B4E04D48C89C7EF6EFCFDD05E8765F5733ADA11AAAF7
+CD7850D2023B74B62458EC6D856B9DD2FDD8C184F68DDE318B820B97BDA3B957
+645B2B6680AD05CBBA8ACCF21926F885198C56F16F7DCCD41678A5CDE1C61EBA
+B0484A86D4A7AD1E7AA3E785971C13BCCD22524A05D3F420AE16FBBDD486FEDB
+A05386802F61D9770AA2385A4387C456910F23932E22F7A459EB88A7C3D6D1A0
+C5489866771F4760E299FB7AB9054A7E720EED586019C93B666BE01E6E0289F2
+AB671134D783829880950D86B9F52524D6F2D14030D152C466CD77DCE2CE6F7C
+2D5264980F5A4BD8B21DA6C2D004D1459670195883E17131C9AB9F1904D44569
+2678D117D3B7D6B346D6B47A28E2EC2E4665576358121434F822D5BBADDDCD85
+125CA8EA158FA01D10DF7C66D0D8823CB97EB274ED1F75816FE6C06518521506
+23D5AECB764C06FA8B66B7EA53B3342C312D22929E6B9818479217A96F603AB5
+51BAD21434070138942FBAA3284573D9EAA3C8149333E36C253B4B8988765113
+DEC0668CF7AD9C1315D724EAC613D42C72261C79346D547C20D41453F9259923
+95F0C48724827038D58B23C600C1170759DB71838E3855A5E8AD8B790EA4CC63
+819B23871CB0EF242F14A6BE5E89735DB518CC1C6029A7539591F23806BAC994
+BDC882D7B03DD3D336CBF881F82B9DC16FF626E6D563F5411CC363C623909134
+0FEA73C7B3ECFBDE36A34FC9747CD0D26521C822491545ADC661CE17FCACCE6B
+5B13884952F1F58D3C4B814F4308C3C0C3CEBC17452DDAD81DBB438784B4B0C3
+948C6575A7C950E3E6D84D7093AED5ED0B32944FF6656C88FFBC50D449AD26EA
+9AC728F8D524BFDBDCCC9A62CD26A891045689F53559F1476FD75EDB33898796
+A6FA150DC93F934C8C04DC428283C7EF70C552662A6CC300EB81F0C7828AD88F
+5E1BA31C37DDC45CBB003DD6788B92E0C1A948FBB29AA586E5461304A97878BD
+58EB58A23922C4B79B34230EF1044E8EA83C49C65703DE405251C98C55706EF1
+4C04416CC45CD8A0EEA03BEB768401A6C61980156D79041FDD584127B17473E1
+51D3CE602B8812C43E653E5EC88283EAC131C9E3FC56855D6910006D9795EBE8
+B65197CBC1ED0416295B437E51168ABB321AC22177AF8547F71CF6485933D5A7
+A46892E23BA35D7C49B91E73589A350EF54FD4002EC0992634F0903A30EA5EDB
+A86DC40683900272044B4C356A8484DA5E751DA874C0C263E2898E233ECA6239
+58A9AA14F9A70834F114D967451D73C3B50087C218852C7097E35F06F16F2182
+E0431C593105EBED3113CE28B42475BC60D1D18D2721B699C8C2244EF03D407F
+0B34E11035B35886D9278D2BA2041EDCF30A4696C1702A3F4C51696FA7641C45
+F5A056773B9520743D341B1A134F16705500A05DD5CBA1106D29B71FEB0C8BF7
+021800B7B0BE434EE2A14372E66BFBEBCA241614106800762108C056A96EEFE9
+033CADCA9ECD01CEA206D6EA0B8C5431BA377AA817F43E4D2F9FD39030468A2F
+CBC4E02083AD5ACC06BA592680C81E5D4CE2956A83CFC64A86857BB6E19D6F71
+A76EDB
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
 %%BeginFont: CMR10
 %!PS-AdobeFont-1.1: CMR10 1.00B
 %%CreationDate: 1992 Feb 19 19:54:52
@@ -5019,422 +4712,418 @@
 D9955BF6730BD59495A1F81B708292B509537089D8AC34A06DAE5E8BBB9B0A0D
 F09BA6723DEA964F06C0E1A6541656470E251F5AFC6677043DE7C6D85B60D3EB
 B8A4415DBFDE3F29D5FAA0B5CE4BE9559595265FA8BC24A172FBAF9B1AD0A4E1
-1CADABC2B71A43098146DBFDF7E126069259EB490CAAB07D5C9CE0AA888FF3F8
-6E7AE6C7E5A8A38CE61D5407B7D163846F8CAFEBF385257AEC1848DBBA60B7A6
-ED708C86C7E773802F491C636CEC4A15591428383D56204E70E383AE361F3E47
-4C7B9C5EDCC13E731F6B67BD79A09B7C29769D4D9DD71A21AF20D347193CE5F1
-BE70B010A0E02A49118A0E5B004D6C193C6BD5A392F360401AC1742546A60CF0
-3CCD14071C31DF91E84427DA969E42D357A3EBF440A3C5114B443162D8D4A968
-045BFD9762858BB82E98AA5012EF61EFB32A6EC4F8D3D0FF770F4EBD8CB47101
-BDAC234FE799494AAFC3322769332895AC076528768ECF4C69318F4C4287D30B
-09FD4DDE2436C0AABBAA14C9E4F4E1103FB17FCDE3F4BA395FE9950E700C6733
-C6E7C1CE9BE99D275DEEF49BFAB8EA926FB9EBBB5917B66E73161BBFC50CB621
-A33B4734FDA1EFBC5F6C0032F63C3C32631FADFCB9BFD2F7ACE080C16D1DF08E
-8FD4B291900016094586EAD0EBB75E3CBB0152DE572521EC96669A3983B13309
-5C3E8907744F25ED623F08849675A75D8BDACE3F86A988CDA9C1434E50D4E49D
-FDB354D7F43A9EA6AF6E45903ABCCFF2FB6A216E100755067FDBA531BD3A3A07
-CBA99ACC978A28D49C8D9F293DCA7BF4A63F48E775AC7320346C07BAC826DFE3
-DB999101CBEE0F6E729B40E6E2F6170D02D325B8545F39EE052A9E883DD40B90
-CBD1447EC852C226A5B3820A6C7329BEAB0831520BC96A966636AFA75914EC4D
-94AA9D027F5E9782EEFA1FC08BA671FB7CF3DFDE40A56275AA008FE44185FE3A
-20F8F75D5EC2ED8DAEC21737F08088E9A46E607E81D2123596E5917395B7961E
-B9BB98DCDAE063460FF2AA64845B4D2385D128EA79AF54DAAAAFDEF37E7171B5
-7F023CFC72D929BA153D24EFF7ACB9A01CF3C21495BC225698658EA7AE007343
-18D6CE00560DBFD216DBBE01EC999840437AE367E44EAC72AAB971D2C189CB6F
-2465619D1F26D7E1B790EE761D79FBF12504137134AFB745EFB606B843CE0CE7
-B50714E2B5A4C514260115FCF078002A777DD814E9B1670A4E00AA89AD5DB378
-1F3382DC2AFFB13A1EB945304863D34CBED5279EA6A062127A77BC4FB4C58CF9
-6C42EF3689986C7ECF800BA9A064C4BF26E57297FA0480CC593D0473C499B9B5
-07308F8C2E11FA0BA0FDE55D2277814FB0DC8FBE2B77E5D56E6249A95C58F024
-71A2186CAF2BE7AF5F742223BA650408BBEEEDBD93EAADC0B9AB63F6C63E0115
-E007265B85C144F97C00170DAC73D11B14DD6DCC8955EAF77FC5036ADC8D2A43
-7FED7BC3E9AC937E2BE081CF724B83142C0300C8467BB057AD1B652BA1A086D2
-0A6C40538AE24837924138CC67631F0FB1B8ED1D22765FCDCA819A23128D9AD7
-15BADADA5B2AAAC4CE7A3EA3A9C9C398365875B0424C6253CEEC826C50A1812C
-F8B8B2B11537F7CE554FADD8648885E8CD5C3BF8F9FA9D6D69BF3043F02D68D7
-2EE216F948A2B0EDB37001498A346B803D8D0B013830D219EEC534A1D779C7C2
-591470B7A6FDC337442538EB3422956EEF135315A3504B7D08162ED89791CE49
-27699C67C9D1F57FC66E110B02024410F0A5CB53A56622B63310C7D971ED2759
-16438B5EE81BBFE1B9A16C7356357B6E7E123546D0A46BE587032CFA86F541EE
-0CF088C6D4912647832EB31C85FE05F89DA37D7D0931EB19E382D08E26CAD346
-81A67034769F21F21273C52E0009962534F0A1994C984101136F731BDE489961
-A0992B7359BDA9C6C3C02FDD072F56F64DE2E1E973B48540BC4BC14FB0D27FE3
-516DD831A7FBAC02506154B7324F5EBD97EFFA8F58AAB00DEAFD2F0C21FE022F
-E3D62EBCD654EFC54C233EDDD39FEAD2EDE01A975F10A62B05578B0E1D553B60
-4A62DDDE020C53A759B2DFCE2C73FB6BA73F1256C8380C62803CEE16742DD7D0
-955A325812E7B2AE721F28D4AE711234867ACE54162DBA80E88C6113D4C6E7DD
-D7BED4A2EA232BB545691A0189CE1DE85F6944A37CF2B66683CFA322DA002553
-16921443A0A5E4F4F176F36D26BE08EC91A017ADE6C54CEB42F8F002AD97CCDC
-72C3A27B9B6E8D3E57B2C253CD9D26688C2DADE289DACB4323DE4C15A189C43E
-A6CB97703CF7ADE63405D877B2A8F91B87AD8D480BFC3A24EB8A908940A99DE3
-0269905EA8C922EE243B7E01A39CD0D151F16906626ADD9724BB77CC859EEF27
-09CC58E9E7E83A720C61E71A682C530A3CBCF5C99FB690B8319B5FEB9E58502B
-AE17D595E8EB2958894C46FB151D12E785631C03647B6406CB0CCE48FA78CEA0
-1E4511900523B88BA7F338A052AA6980BAF111ED55C2872D1B87E92497C07D64
-82D7663B93188AEE5D587878401119922B947E19A857F4E2132D90A1ACE58EA3
-E35CDD12BABC3F6BBB50D4324A299773CCC1A90ADAD8FE50539A141B3E12BAED
-909CDC998E815F6F2E837BB975DFF9389AE488D5B5535925DE707E9CF9881D80
-3A3F8AC81D97A685F3CA52738A87A921EEE0007E71473DEA037C3B4E7CF5F26D
-4E418687B7AAEFE2D5327C3F8ADE51D394CFA283083BC0FBAF122AA1678684B9
-21E8D998F70873F8170307908B4DF06D3D1D692411F8DD9BD6ABE89EFB7CDE42
-2A6633432636E65AC72D1B8ABF55CF9250A14120183080D2E95AFE5BB39AB713
-D31D251AF007CD8BC63E87BAB56C8588DAEE97309DEC367C25C60E7A06D5451B
-216809F9D23BB48598F4A677AA281B32F73D0842E7C16A35061C93B0421C5AA9
-0D24C2477B230804475BFA52F4426DA6F4DF979754A0F4DFA0792F76A710AA05
-3A14DB027A641CC11F24F821ABE5709FD8C860FE5D3C3164D6C906EB2848F2DB
-ECD5CE8CEBC52A427F432C618563FEC50FC35C51CF0C4C31DB05CBB8CFF2EBB9
-51DEAFA4E8D0F8100A91E8DD6FDC74D6A09092E4C5BE635D685C7D0B5D1B6A35
-AA1894CD13F1FCC2838BCE1C957143A340B96DC3B08484920958D25114C7DF8F
-DFE2D1A6E58DBE6668490E0A3F75A016EB40AAC8DC623EB008D9677FE604587F
-2CE0B16B06DF82B6BA800C1DB2CAF259A1007401B2CACFAC1F55053630152D0B
-9765A4D34BBCA0E531CA90A03EAAB5F5857BC3914D24E98076B2BD7701678EE1
-5B97A371FF084FDF64BDA12E708C4BABF6ADC776CC057121C84395504806962E
-02E31C1EB36F914B6463A390BEF4C35FE25916A1C51337325A97C450D3134C43
-94B3B14DDC11C933A813182206243D0EC32703DB33E76B181F12015BD987BD6D
-550D7779B4443F226522A3CD00229DE2E74A2C9B000C79770CB49C82266B9A40
-04218F81207FB109F16CDA49BF83F9EC21378A783F7F16B61D62F6D94F69B76B
-2239EA2F0E7DE13FA0411FBA5932FCD80E8F241AE46198A2C7B442AFF8EBBE19
-71264B66744E93ACB7DFAC8139372E818CFAB79297E316800FC5E8744757C5E5
-D23FB58CFF8370128CAF7EFA09C8906AC06D259193AF137E301CFD08FBC48F07
-BBD510269C70C03B9F511C755654FB3B23D4EA9DB3082DAF53613CCC08A63C91
-2C2AE73AD0F48BF44D9221281F3166919AB2EB1B251CF5C8BCC50FA9E9CF5D95
-5C039C42DDF3D00D829024B27F6C7F4EF80C55CE7FF888675FD69316AAD371E8
-8AFA37D087F5F3D7E38E74DE37BA359F49365267910272AE65CDEFD5624E3695
-03A5120E55B4F60DE25883CDF9C9F8AE6C5BE923B41BFF29729442A711B9A92C
-34D3BEECA65C06C31A45164A40572C06BC82FBCBE6C75461DF336207C25D2B96
-29682D5F782509220891F98B04A2489CBC9704B597D29109F099298E8F067423
-4C7AE016FAF83DA75D50E0D93CCC7B4ED67E80BE5C2F8FD40E869C61D32A5BDD
-1C5519DFEB07546B8C928078491D01A4CB8DA28FA516A76668F2A755E761C865
-FE949A5F1107D7A99DBB581AAE3D6332ACCC7930BDA7EB264FC152691D1ABAC5
-1E47BC5E5DD8E6FF1F80397683DF63C3655C064E243B9376E6882C9F4AD0E4B7
-473E3FD32D908C3B7B31E0FE6452A102F8BB24DAE554BD01D377862143E97BE8
-F1EE9D4747FC7076B52F633A33B9271D457B0DBC787867D4DF9CA587FBFF5F29
-2C0FA99CF6497062FBEB531CC148667DDA814A1A2569BCCA0A3A429E53463D18
-41268AEEEF94B3A6806747664F2B17AE3C12EBA5D53CFA8D22D7DB3A16DAC814
-C3EA18E2BF3A712F36815E9DBF973C7EFF59911B3C218BB9ACB5B1010CC9801A
-DBB7BE1CB60B10CC12B57DFA4E7F90033821383CA184F579B3176705D310F7A4
-E94A519C59237ABC27E6426748B0D089A2D389B58AFA872B2B85C5E980DF5E4D
-0944ABE5A954C928C82266E2037FC98137B068E34F4C59FB334019F8EB7535BC
-8BA352C2F77C1D90413B205E112AD3E4B983E6E0A54134F96ED09F72C5E6C43E
-CF951467988E87E795F1BD54382D45F1A903D76E7BAE608C99560C6E24387628
-0EE9F71C2619724759EFFF8A04151DF26176E14CC8A2F4062923F66B852673D1
-2FD86F20B1811E40125023C1B2389F63F87F1DAD3D578A2C1CFFA6E8DE85D8ED
-4B25FC597068648A2DAB6DA122B93DC5F3C8C74545DB7B0A728D2F359ECB05B2
-BD9C8A0F473C00BE655F9F114D662A6483484D1B08BC781E1FB4BFB489B7FFC5
-A16E3C2A5EF93AD571B60448FFA9A390A04D5246EF386AB02658A3229B0F4B29
-2065B73758EDEFA94108AAE9F4E9E8E1432340AF41BD7BBF18300D37BD442A15
-6B07B92AE7CE617F89CCFB7ABC99556FD467D771F218A30D6329921331608C7D
-DC34D348B612685113F8D1C9D8156986B7DD4DD252495E1CAF091DC43033E763
-847299EF4412169982CBC70A2B2BCCDF9A3B0468FD36B0315D0DAD08CC9CA302
-7A33F01D9558FD2A0D0D067F78841A3CAB2D3122E54DD5277BED97BE71411342
-1FADEE5374C1C4137491FFB729CD81C1C6C783803427BFF3B6C5B2B16FB92EF8
-70F6355305E89FDAE6C6C5A33B29C142A4250D19701E59B4FDFCD1F618D3C34E
-EE661E8658574020290E2C6D1C6551F29A1228D6CE402B618BD9CBFECBCB9AC3
-EB24B26DEC2F6B74778379F72F3EE3EA4E2B5EF258BF38FECDA5E30C2CF46C23
-FD05C8FC04D3F7C1CD776604316CD9FC65CAF1219E1E8BDB97C8C6D6303252D3
-57C549686B9FAE947C01003FEA242DA11CD50C18ADF9C41048C7A5B74C755AEF
-9D1624AE9835ED60838C7BCA29246FA5A9B13E30886022280B1223EA24F8251C
-EB134BCD8CDCB18CFC461672907EFF2C6A7D516CDEE63EAFCDDDDE3E85F9C0D8
-795A69ABAAABA2B18DA6366AAB4BD17E263D61D454C1A0FC3860BF29A7ED3214
-840CF222E1A880867D597354C54E542119405C6C2EEB54E6A4D6D04729E80042
-AA9B0B8B1D9DAD231F2B55B09BF7193207E6FF5AC533691BD919E423176D7A26
-30F80324D29DCDA2184238107504E07EBCEF343BA5C139CF85E5536B7AF8B7F4
-4260B36E99E81BE4709A5EE85B9807FA4F46FB72868E9AC422A48F3EAC86360B
-423DB302B84E5CE857FE0FEDBC3FB065DB523FAC7E3F6EF2CE959B273FBAE6EB
-4BF558583BA69E1008ADF8B38D8A84347285599CCF6B3E84AADB8AAC3ACA920B
-13D7D59565D908E98DFC94F5555031A78F252A5938F012BECD507C830B440750
-24F1A7D07856BCC2E6F0B590ADF962F11B2310B298203B1777102946E70F2575
-FE1A075A27A318B738015DD0C60F3B67CAB9B1D6190D065012134861160A4861
-5A806696D952CFD418719B3C18BF15CF6BC55FC15372B335137ADD437ABEA7B0
-53D1CF760CC084B531EF350A5AADC3E21981B9411941E326874462C77A90F22B
-AB60322289D5E05AFFBD0A1E843A50468DCC9F6A616FF066CC0D77637CD5AFB7
-0D17B55B21C50BC89529749B66AC2D1AD3710B4FDAD98A48C7E71B2418C25478
-365488EEB01886830B5119E30247462C9C36F225FD569F4B2ABEFA9687E61F23
-EC48EFC1501C2580F14B0F97C2FCFED1E9460343744DE472C9B8B8716BC60152
-15F777D23E3C67CA2D726103FD4324FA4E307A94244DDC3AC4FFE5D977A6FFB8
-E5A5C8047A9211B5B26EAF84D23AEEB2E6B08F88C9FBD82CBADFB64825227FDE
-C9DD19B06F844525AD631AF7D464CF1A314769FB30C4A8F2E564F32F656A113B
-8C610BD45209AB3F8C336BEA9CA6B2A6DA6096CB37CD20D713F9548E94284EF6
-404D5AB2E86E23DA2009D3E0A1AC9A3A325C95CA2982D070D9C528DC088DD605
-237E6636D8F63E40D0B183A90274398F517AED7FBEAFF1F06A1CA60AA23C71E7
-59702319F84DB3532A8C268A743434B66171DE5D000A96BD14831D44F9E027DA
-463F5951E1641BDF7B9F25B3A25C3B46327227FB61B1AF4D3BD6C1D68901B6EF
-23344A04BCAECCC56801EE609657D4EC9B3AA49A974F6A6C2D5ECF790CE6DD19
-D2F882BE5245167369E4570733ABA9D79D74F11A8283C320399B7D4FBF7575C5
-153307158C9C492B6F2A131C268C7A182D5230361174ECF404CD8A012CD731E6
-E770F4E5EFD25E7FB70B7A6078FD7B8471490AF9D0F733096DAA30B01A0EB250
-A9AF91CD16CC67235AE9DCDB7249B8C6FE3D81C1B9706F8D2674A6AFD13E5480
-9E6D7E87E0FC70A113ACDB7F765DADA0060821690456E4F0988AA0C65D78783D
-E3DF13FAAB8598902A2363BF0BB07A571826754738137F3AA89F08C2CB61B4CC
-8D0D93FB040FD17DB5509250259C62C70EB3EB3062591D5DB888482677ACED2B
-C1F4873A380CBD76885AA4732D5961178456ACE597058C034652951D1C5FAE6F
-4573082CB8B2C26D08205838ADC1391B5B66BCF142489825B6F76636B729E9FC
-17BE4C672AA919444CDEBF939E6C4E28F6ECC22C53C3A03A3C29966675311EFF
-10A9804B7BAFE3395ACA791CA6BEE8B3EB3AC50C988014C1443B6D9399597259
-D4D887B9BB7B74EAB86AC984F71D6AC804DA16C3220A1C8E3DAF65CC9458FEB4
-4D816C244A964DC1BC17562B85E4638F7EAAC3220DB56B04B33EFDE1E95ED640
-9C7DFEF6D8D9DF10A49161AD0E28CA9A789F499F789DBC6383A8E0E708AD49DF
-870F9561158DC629C27F4712B1CBD50C9E9BEFA4DEC0C4A524CFD675C6A79966
-47AA075831D51207D440186B5B26C6DFD102BF1FE943B63A936635F5855913F6
-C2F8F7C95BA09BE94C35B9639EDF7D470F259F1C478C4013383A012E8A5CDC98
-662B88B69C105C99C27369A02CBCC2EB0FA787F1119F3CF0C622D22ED801CBA7
-839BC1941E7B4806DC9812D66DA745EFC609F96820D29E0A3FBF4FE863461527
-A5EA491B95B469959F1702A227B5B67973E1F77058FBB40CEA89C9347F4D8A50
-BBB9B1BE716B880B1EF4B2134AA07A352C7DB177C5E8B09AC26E70A947A105A0
-31EDFB08C21DFB1AF969047B3F890EF22DF9749328D98E9A24CB717518F5E955
-7D3771005C602BBB9440C4F8C88F7AF1F8DC5F9D46E95407791ABFA4C9899D80
-519B8317709A4BE26E566837FFEF6867644049545F85556CBF47F1A9F1DE392D
-2796BE25C7E87036A719ACB6DFA1448A8E54DAE20C2B940CF598DF723BEB9899
-493DBCBE9523C0ECD4FDC5BA29E8DBE58CC930F7C42A67536573028777A716DE
-4A48F7183C03CC8A63D0C53856EEF5801B67CDB0FC80223D328D30E153C5F623
-71A8CFBCB12B69D5B568ED82A8EFF7591A0C9EE0CD4DF44F3B4F3B3F9D590BF9
-76895A0725E330A4070EADDFCD30DEF05A8AD92D4D3A2829E2B82616745BED98
-783CA03A0B056B86798EF20CA09FDCA263D48534E092D5237DCF9373F8D54D82
-82AD8C598233222BDC06FBAB7A27BAAADA72A1AB5F8CAE2C148B132D0BEF5352
-241818857BA7C4EE599C9BAC5B645C8164D9D234B343975C36209D8C4E07475B
-5225142147B5F869481A7BA9ED0162A27A11C12C581DCB7A4344EA37941214CD
-537F5DAB0F52F7745D1B8CB7BCA462DF516E3F1FC1D6E6C156CB3F230B3BB24E
-540B749058E4BEF20EC09D6BC2E4C8452B2A48B1CEAE146BC359D1735B5EBAFC
-7C2337974BD76951789ED282B6B98DB4C8A582B887BCA1DC9AB91B3454D3EA9E
-3B822E7FDF7D4CF64874544706B0D5CCA429C2CB5FAE1CBBDE8A2B2E1C1BE51E
-85E47A455FCA235242A0E2C335034D61B507B3030E5690DC636C726E2749F0ED
-3D6B56778B79D6110683A34C615CCECD0F80F4DE47DC05484750DE06DF3A49D2
-C8B4A9EF6B0E3F64F717E441FFF0D53A239348A6074372247DDCCEB6080FB50C
-EFDA0831DF29CB9561AC5F9B47175708BDA8A69F1EC0BC4E17E2C0951404AAD5
-F691E917CE40D0D7EA70C9C19B1817D21B6CF694CEDC7C7F3C2B99C40EE6A1C3
-B790A6A27DC6D12AE1524E7699F79D61061DFC4C7D2E7EDA2AAD01938E731D4B
-23EE052305D1BFDB6C0A804A8FAACC7341F511CBBBCC78AE7B7BE4FA3C8D149B
-1E6E78DC058F254E034B976E6F9033B58BBB4382C0C21DC5FABD92FC82EB2974
-90FE54ABEB9174656DBF8B98E5908DE55AA46CBDEC25F7A88CE6BAEB56299F2B
-01D7DC9ADA415055E3D5755306219A468C475B809A0FDC9007F1FF6E7AA041A9
-ECD7F0CBF222205878761151691BC63BAAC5B11FED047F336F4F4F4626C5B27B
-51987B37B4D9B0EE7C111B0E7157E6CC6CC05E871CC7EC0BA4EFE831BA1B3CA5
-6439BBB0D546EF01A3AE05D1855D1495F766084DCE3C2E85D6F224845F24C8B5
-70F1D2675A6FFCED8150930468FBAEDB86113271544690BD091DAAAA8AFB910B
-E4683935D47BA09A6235A981BA86DC8BB3237C802D2A224A8817EECD00DE8A2C
-ACE71321D5D6B04FFF4C05BE365D8409CE2A223BE59EA90D39F6CF7C243E57ED
-21B25A946A54450C3BC68CBF64B9261594B0A89403A10FE739F6000BB214C4E3
-6C632355CC35BE7F65242ACF87D9768DB04072D4928E34BCAEF1C29EF429B517
-22C14638854D4DC259D7CDC13947B8ADA051A0C0B84E5D486589DBC0CE0E3AF4
-2048CE778AF0BC3CEFF57FE4B3BF9BBF1A6DE676C83CD578DD39EEAF8E26FED8
-895078A2896A6FF6123E89346ADBD8ADB3D80BCFE21BFF8BACA038DB9B3FB51A
-B9307E067BFB7BEC6FE9C2D3F8660EAFD7CD79274E061AB390744100995DB0AF
-83A0D9C783C73C1F9FE1DB5629B0203961660A31D7874616C4EC1E63AD15B034
-5E3EBFE91A93329F635EBF9BDC93F413A38B0F9467BD292DBE2D72442F8C8E6E
-0A3BEF27D2D12198AD26C6277ADADCE99EE4569A0CFBAB625FF41AFAF724E533
-404AC0035A265FD62DC541541D58D0A97943338791408439B3E7D93E665A9A12
-1CF61691AD1C9A7F8628CA273991B514E525273605BA5E30D8B9E04F1888D04E
-458AA66B6C1588B29A1204B1A02301A200AE4A00BDF28A33D2EDC73CD5AB82DB
-547135A13BCB8E1E03B9FD9E13C95E0F6E38DFCE0A51999C5EBF7898199501F4
-AD52F2D5538E097E7E781065EE6D4A87A7F627EFF812071A67FCB19BDFCEEEE8
-10719FB31EFAD71CD4051CF1D38A808CD394CBA71E700B9AB4FED19F92B8438C
-3616C25A07A0B053223B5CBE4859450AF6773CE9157896EB5AA8E5CFF3ABB132
-8AB1170B6324C491F7CB9DDDF277C98FF261F8713F28444B159F481AC5735D5D
-343FC764D189709D3E61E30EBF197B14D882A3EC5CE4A67F5040676EE3DAFFA7
-822F8B8C0D77115EA82E98957EAE5355B2FC684C1AFF87BD7E01D34E2A1C483D
-43808138BB932221E1592BD40C28E2A3DDC904080B4043CFDF6E1BCEECB63F8A
-7921B196C2899B1A1D7E401E070AA38F2951E0E91E39EBCF9CF49B278A875F43
-408F7D9E1A9FD45F75DC8864F3E4362EC91FC89D32AB1500429CA6367F2EE6EC
-CC572CD9313EDD7449E30D6661D25062ACA2A8C3A2BFEA28B6D1440003474D32
-B67A644BCACBA7200292D3F7C7D4D15CEBFF6DA2C250C87F59E9A752565A6406
-9912455D7E0EBAC53D581FBE8D4AE467A19DB210149E641386890E9F2A52B0D9
-6515E9694820289FB20EF7EB89753F7C1E2C4F69F6FCB42D466E827D84C1332E
-5B9D115EDE73C1EA6AEF6511E73025391FE7416D8B5A9CC0748E83760DCA3852
-836A77E89A58299CBF9878DEFD74AC2DFF777FC5958D87678A4E2B630A240F59
-1C01FB19EAFACE097921B443547305832641B1399ACA75D53B910173B18F02EC
-3BE6C5DEFFA1F5E98FD79959EBB7E42CDDBA6B7976CEE5DD667C48B5F75E4DFE
-1C951330B27FE43B58E773C02AB53D7C904130B1C7ED8928DE339F8C803A095F
-954585EBB1F4018199A39631D8A9E6737499594A1C79D49A34D225BF4BE0A772
-D87C144EAE091B979535D78B1D095D3B34317BA78BE03E07C99598299BB485D8
-F9462A66038824EC833F9CA801402B46CEEB6E85EB7F85FDFE901BEDF14FF5AE
-76592C021B30AF59440F291029988900060FAB77AA1145383881B29F6FF5BBF1
-A6934AAD143F438F586580D52F53E4625BC7977B4054A3C78893DA1803890B18
-61D27D893B8B695E90922A051B0B253F908AA33BC79E9053873C5D1D8467969F
-952F66C90DA35D40D43CB7C4985A8C56C65562F8C973E09D8795EA47BC17D958
-6D6AD83D0773EA0FA2BD247C6C46A9D52ACF9A7A668A91B683E9659D0048D180
-492A03306515859295E4F0F6F37198428A561BD3CA11FFC68E8B25058B10F6E5
-1E5E6FF5D47CF21A8F16337F7B6A4E55B7CE740C903224B8106CE8BB9D75EBD5
-5CA31A43A539D23D06860DDEF0E1958832AF79F60C35E7A1B0E6007A4B33831C
-2E8B69B2529D141D7FAA70EAE528C64EAE26F2573ECD02C1EB53AF8933CC1C4C
-5AE760FF77A450D9B20F119A3C517C2731A66D77820533E5D1C50AB69C7543DC
-402DF620941AABCDD40C8A63662113475C85568AAEC4103A8A12AA6AAADB9F9C
-084740C19F9741030948C3A96ADA98BB0827DD92AE0D48A2AC354E4154A6BDB1
-F8C4004802E862260492EDC2D19323CEF2689253352022DA1FC4F819BF8C9AF2
-DBE7EC4B038F1F2457BD2DDBDFAF3E6D2664812621663F76F8FF5070742E2304
-C4290A34EEEBC442AC68479EA4867D9B1DEB8902A96968B86DB9A667BE6A21E3
-57FB5EC820191151EDE70D3BE5F8A46B7E58DA2CFF1BD8761C7A18D5DF52390D
-177C00DFAF3B75C839ADCB54C8D519DCEB5B4A69CC0AD480208F3659D55DF9CE
-34EA4F8F307E6253F093C5E5CE3FDFD81657EF753D7534B0790883652FFBA396
-BDF1A53FF28A6297838EE1576D6B785FE21A51FCD175486BC0255FDCEE3F98CD
-F1855B740023523E6339A234E5C193F639B729C0EFF1F47CE1D71DC8AE8FE223
-7092FABD45755CCF1AC2ADE932E501830310CE3288FD1918463FB6B5159DCD8B
-A5500932C00A7ED40E72B4F3E4DDC7B79556293D6E6A3B1757E2BE6E0BCF0569
-6FFA2A76A4BC9B63A7C7ECECCCA63E47EE230835945F77C044D7041885A1B4D9
-8AAAA9EFF655E9BB08A5FF9690A1DCC4278A936EBD01A4FEFBA23635F32370BC
-50E6B691CC6F6ECB885084CF1BF3159ECB00B12E9C4638CE63A734CC70388438
-71D3AA2764D7C640C9674CDBFA58CF0497B4A122E2BD413D6AB0E6D69450D7D7
-15890F1560A9BDF04E5AC7130BC74E174E4C1B26AE4F6529D28047CB3702E553
-04D3CE6568B08C741732674910456621D51E0AE9A8836A024ED1B84CC0B50F50
-B4E1486EB0DE384A4D38A8746068FABC7681586CECD15838ED6E2D4F83CD56F9
-288832775D02735DFCBE4DDA0D42A5777AABD381827B58F6A0E6F6592D6C589C
-08A9D77E318C9EBFBB2A6EC80A4D578A09C7AE51ACF6C98277B250C634D10BE0
-5090B000C2DEFA31CE5716051B373E0320DFB13617BFB851E2C2DE62F4F8D311
-8DEF6B1F3839BDAD34ACA5F9E7F284236A0B60BD32AA119E3BB52081A4573CEE
-32FCFBD6B69AC63ED5D9CD17C518D58F7C9BD965AECCB19D6D8B6D504DA48A68
-6085558D7B6D42A4EFB77437A8B58B981E4297150FE710E7F7AA5F87729FFF07
-87A7E807FAB33B1982E484A1C08E25658B714704905C37792F47A8B9EA781DF9
-369354C72368A472B296A6551E49CA5CFE02E3197BEE5A86ABAEE16E6F0F258A
-65A64DFCF7B3F0EE40080BB21CE1834F46A773802C5A708FEBF22574EA7C7198
-0D91532FA9CD3A786F7E1191E12FA5F7C20442A2D6FC0142AE58FC402EF1618F
-EA180FF78F5B93ACF3B9CE5AFC6F41A22AE94DC30022266B422F74CC7D570B6B
-64229DC34CF230826B231C85356C4837B9D6A6AD003D1BEA440886F514FC63E3
-50FE689586012C9CCDF5996521BF31C2185F6C65CFBC5584E4AE7D3C1A343A35
-142C0BB17312B44DF6740E0F9AF65386347DD8D69EBE379E18C6CF46D61C1B21
-35AB57BFE55A395113CBC4D41DFBF5185CB45E368A04787746D297F8CE1C0CEF
-FBD9584F6B2D1D61B733EE59DCEDE9F6BDB990CA0A669108C2A85B5665B03832
-28A3E560928059AE05B8E80571CD3610FFC8518B676C4AEF162372BE864FB8AB
-8015C6836465929BBCC2FEE3A0C613EC25650024FD13A289B82BA2B0BE696F13
-DBEA866EC680CD7E42C86BF80B45B5C5ECF342ABD136664CDAD92A422D49FFA7
-0FB47BEEB2FD4E3EA132AFEBCCD34F3E5E1CF51BAD2181D04E03B413C538B126
-7F217312064CCA21813D77DF616B30247E53D51BD248C80610E072323B89D5EA
-A8B9B163D512C08EFF57C99F6DEFBE91ED1CE7FA927C2389FF95810E2B8DF154
-0A30FE206F2F85B7DA182C0FDB71D0BD02F925978A42901AB831E570BBFD6C2C
-B4ED0E80FB6FB6B6293EE363ACDC2D1CDC243090531258D7AE90E1812A5F7557
-55366455F4BF66F9A4A57D49DF77DAABD116D36C2A5CD6E6C2A718267F14DEF0
-35A87C64E466CFDE1DC5DED7CE60AA47D59BB7BA71F362E8A9714DE908713E09
-27A0DF391BCBE797139E36FD84DD7306BF873DCCB6A64CCD6B023075E3747BBA
-E43FF3001FA79E1CC98C91BCA94258C3FE43E32C11F5A5CCA6A64974E0BD665A
-4DD80AD770E9295830405568C3248F49BC0D748C14BC16620FCF2FEDF6888007
-2AD2670F77CE5F1D440074687A204A2F6325890858CF205A57CFE1B8C363A19F
-2CE148F491BB9606CD1B2BC626D753E4D779C8F24105494EAE5B3E799ACB7F61
-7D3D7E0B5E1BBEC92BEAAA92FA6E1132E8846152B9F0615DCBC3271DCDCE1F6F
-29AE49C1A8B5E8770049610F82ACBBBA7B434C7E5B145D56AB8DE5D3473D3F07
-567C6E31E88B524A8C3ABA2C2D0C5545C024E2DFD430EAE576C1216E81B8DABE
-28C72EF57592CEC9EAFFA51EEE04341F0687FB07497E7AA4A7E575D683EFCF33
-BAECD7D71412F8DAFBE104E1D6087650622A5D239E1F4EAFFADB86D6794D4CCE
-7790456D430B6668A02DA597C70B61E03A4CD14D02A008B6D7D686ADB64A440E
-81AFD61FF2A9FC97376769A4326DB15A4FF5DDD0C0317297D0BD41F28BE0AC0C
-2259AB099372BA053904A027797DE20D640E877D298A01806E5DC46910F5D31E
-71A999B46B1A19C518CE681738BB2ED7093E9A74F60639D45EE2CD646A2807C6
-8530CBA45D116C6B980F2B211FC564F970CD5289C52B01EFAB75B57581E293C3
-066FCD2268889A3F47F329E7CDBB7F9019509D472169F1B00A62EF4F21424883
-728C03DDAD1FEB5198609C90F7027E8CCA5F100525D6E03A38684D650EB0CB2B
-7D22851B9B6F7EBDFA8D4A2335CE24691A49778D88C0D2680A231329ED745945
-3B86C2361D84D3C87100564BD9DEB35C90253E04C626BC2CBEDB3406A402F3ED
-6F67CEF05EF17CCDAC05F56A2333A2B5B2FC37C78F533CA3158FFEE04158E5CA
-8FA1387C315D3A4C8FA898986FF7AC12EDD96D4FEBD56F14189DC680933865F5
-4E0DC552158016DB9ED913E1F4879E5BF1C7DC56642D96589A91E000230F3842
-38949CA1D303100BF24F4918F777DC76282D942F200DF3B663B1DF1D933182B0
-EF1ED07DB6E07B88E36B864CE1B81FE81DDDBC2ABC4AD23051AEBCAD5EF7E7EA
-0DB2D397C2878B13D9330AC104C4A752DDA7652E5B0C35DC2D5091AFD7F90563
-D9D3D7BFE5AA4C637CF137A342D08679E064873A48C44FEA42F59E40D47C9C7C
-75530E47D997D76755255FB3367B4F864C34C2D64CB1C2984DA0094868D150A1
-C87195125B2DBC301BC089B6662658534549DCFCF850B5EAB954C7ABB39BD0EF
-FEA4254DB6B81D3AA70ED21E94817C2702B764EBC2BD495ABB05DE8502A007FB
-40AC7FA63E3E8045DF21E71A09FE6D13BA6B5476C062CF5A64F052067AD7C3F1
-1072644BA4EA5A360EC22C2F57FCBD125FB2B722E281CECC9291130A997A912F
-9BBB252A25FCC1BA9BFDD85B98FF459F07A1F70E027020076BF4BBDDDAB4A7B4
-7A2B8EEA2DF9FF5811925FF288F2CC482BC843B20D1ECEEF4C843B4172FA20C5
-428910D7A8F033808AD26CA716821F35C9E94A8FD1E06D0CAC2AA0BE762A15AC
-96E9ED29509054E335F0E8C842DA612F7A47D180414522C3F9F2E6DFDDEAFAEE
-DB9EE0E1A5B761A2805A5C385BC20722F8F015C7D2C5FAD395C12FEC73F418AC
-445B5B60068EDD382AD436F3AFA556C14655D021AA32A7264FEB6B1622094E9B
-A522BDC1A6BBB23B256A0ADE9BF8F8FF73AE65509D55161BBEE3E4FD358A45EF
-4F007288B94C83A1009AF476D4AA1FF45D2505D259DA50A13492F8012043900F
-84558C575C1407F0F7C6B9C6CE0FC0F54CB30073872B612332C0C7629275243A
-1FCE81BC6113C8A6FCA1AF89D92ECAAA98E26310BD49F1B8916CA89C1E07413F
-6379D309DB3B2E358DACBE0924E91C808596FC898CCD90D4F54DFB83E5343D4C
-CDC26A6A45690FC0489417A3E76782DCDE0D6A80F6E38F2922925F504E962F11
-6BE2F7EB05F92CDD840147E27CC3A06419525A96C3A3D422CFE0B89922F89BC7
-F0C894F9ECD3896BD841A367A0370E6269525B13EF6A3958C2819F1F22D8EC46
-E56A69E0C0D07973112650295BB4ADD9473C80BA28EC4882308B5EBE74566BB3
-9E74ECA0936354C5D7967A55FD27900DDE0847150CE4329BF8AC43280BEADA05
-D269F2B2B6A93A5C2291DC2A9404721DE03743F7DB35FBB2223ADE243D99059D
-D2EF4D2A54E292F5347391957832453A112FFF97CD601E95970555ADE0FCBA29
-FC251D807496E83B2A867214B4779C8FB2C609634581D37023FCA0CCE534603A
-620CEEAB7302288E10E128F9AB6979D8C7CC2320E5B9CC4B671109CD756E45AA
-B57ECE0BEE44E78896EE230E6BF9562D0268771094656521B0E730D6AF1B9A8F
-51EC6648A153432C4E64FA229BE91F14EC871E87C127C2EE463A3EBFAA5948A2
-68FD8440793B1546A66EC4A0C7B907728D4DFAD83A0ED7766F01EA8593538591
-C677B24128E763098513DB3B2FB81AA9486C976ED364FB5DAD6057AAFB7008C6
-E24D2E9C5E8D40F4488C5AF28F87344ECC0DC6DF7C9B4C3608EE48E6891691ED
-F836549F27378888FE6B2C2FC8F3CAC540A09A287824A41C8BDF7D40D65EDEF3
-3A8EED1B55C46AB1E948001A888A3A02400673DD32A184BD970DF4A98F3E0FBD
-055987E208E59B9FB51BC204E034E1567B44E31C0CB2055BE299ADFD1F6825E7
-168BB8D7605C3521BE873AA47E7839A3B1481954FF57F79ED07CB72719614BA2
-CF55BBF66F1FAA899C323E2503F434C4003D1D524F2BD294DBE0E05B32F4597D
-E345A45EDDD64ED5D67383BF05D1B4732C658A283412DF12F88B9BBC2A4394E1
-050FEC8676373E44EEE95A6AD2349964ABD773F0D9866D8ED6845A5F94810164
-BAD4F749863809443888D41B3BCC54FD3D525BEB352DFB9D30FB8E28390EC381
-5549A1CE9FA955815D7CAEC2AA91041DAAAD9141B0B65CC0DA9766A83921DD97
-8001E55C2D51E169E8AD9CB86B93787970D9B68AE9406A5FFA6857ECD7676F2E
-D5C825D41C0192F9A073608445A7385D8BEEC341E76252A39254D518DAD1B16A
-B60AAD1D68449381A2DFA852F762A75C507F175E4B7FF3E404910D8C39B28DD1
-39A74946A98BB8DCE335359B9CE8181334DB4A3C4224D70E4D6739B93871C88F
-5CB369A889B8EAEA00D56AEC596E3D5903D6416E054515D4C21A45CE0CF9FDB1
-C7AC3E60CDD7BBE49F7F47B8F14C00EFEE5F607205CA663B2A566B17F457958F
-AAB0C1E7CEA78197697B56FACCDE80DDC72373B8DBE8CDFBAD81C9170F503F09
-4D0373A7FC641C249989C210A9EB004302C2D79B0F4B1ACF3222FC9430905C39
-6F01EB2A5110E254AA6301EE362BA00B5CAFFF134A8A9793B34917006E7C66CF
-C13424DE88780F7D4F565A1B5EDB8E988795DA2792A3B2667137A622F358F000
-01C0C0006B0FE604EFBA1C51B8B75850535DA2F50E753550E231C2676D77417B
-2A22C3C60F462457B46F937BE1827DFCD2EE7A6048902AB1AC8BBEA599873604
-855DC992FD093CE3BCCBFD4ACF62C6235BF6A170A71EB9CDF3BED980B5CCD556
-7A30AEC1AE5E518CF25CF4862E485D2881094675CD81B0AEC174D9167BA4C4EB
-DD91CBD701CE5F5EF9BC460C2EBD28A2E751D4AD8D4B9D117631994340DF2942
-5DC7CAEC5EDCBCFF932C2D2CFB66A8C8441A997404899063F45A52CE7459FDCA
-8375C047024F0BFFD81346ACA95211224A1182731B413197A812CA78F7B78F47
-D7DD957693959A3E0250615C76602D4EC2B8F71A27EF1C349B8D2225BD3554CE
-250AE611A971A16592931C0D6D7B9573C44780411173815D436C79A945C42C23
-CEA659B2209C8A29F135781554CCA8A95F01FDB7411487ECBB0033DA95447534
-37986FBC4BB3827D57187F667EFF299562A8837B12BCB2E00ED91498EA8AED40
-D2963048D70DC442865B9BBCC383FACED8B5E5037513E4E0CE5AF90903BBC893
-3FDDFD1FB8D0D9605E0B13ECAD84B6351AEB8F2CE65680718198C7F01D1AD6E1
-FC0F30F95238FE4774320FFBFB502B4FC2C283F8D070444A9E64F0E93082308C
-4AB1EAF661A34E6F0052D0CBC66296E0A21AA83E1AA311D7D8D1BC2285AF574A
-EB2274222C3D7156CE001D1B95FC432B50E5AA83C67DC4F621D8CCA5EC7A2208
-5500C4303BD1E7B92A488C64E2E64FC53F7B1C3569C83A8373CC9CEB8E510FFF
-292BA72D91178330E126B41410AD8B2D6E2DA491DFF83DB53F78C5084614B5D8
-96FA2CCAAC2955B61B37E5C19F10FA5F21B0BC62A5EE30D484AC3E5E714D7DF3
-1E7DADCB845A13C11E091D60CD64C10398451A69ACFEC83FA83E1CB0DE506860
-A16F1C217D3F0020EDAAB524A92A30578724BCAFAC6E52164A6AED93AFEE2FFB
-67A390C8222AD7A024F100CAF4F698EF2FACA4164C9E4A0C229F205607BAA25B
-DC213430A2C0A5B12CFCDE601FD91CECE8102E0F3CECA0037327A9E4111E5A5C
-3D0204DD6CFB226308FDEE442F98B6952A447082A2A92E97EDB4A83859F5AB71
-599093FCA362CED5A2A52E8B23FCFF9264A9D5BADBF0FEBCD7348BD815965103
-6BE41D998C20531F289A4EDD859B72B83AE1B8FA22598FB96537CF035E0B4DBE
-8BD1B054B39276823704440CF83C812670B69DFF35892EBC00A6F04F028C70F2
-8CB07644D6216CBB94E864253D584553BFD38BD7C822D81F13CE287C6777F904
-65DB3A1FBA4CC7C2C2049139F4653B6AFD15126D1A9B5834F3FE175D56F8F626
-2AE11C5894A66F4B65CC7164DF33FF5EE0851F0D57DA7C969E51015ABB611F5F
-8DD09CB0035992AC74F043904D982F6272C66D804C86E50EDC2165697A25FCB0
-F92D814CE1B49AF4612AF6C8755F89762BB1A80196EDBB23608264970E66AF5B
-6551B21D349360944E5DCF923E5F6FA81751DA63F5A4A3C240A71492548830D8
-851DAF93D2CAA4E256B4C84B8EDDB59FBCB6F7100F131E73B33072767AE7A579
-DB379D0D359B257E424B57E1A09CA559C4454EC792814C49E12B086580438424
-05631FE7D717DA17B6F8CFC21516F0890A6D3E6DDAF61294F3C05D450DC3D00D
-B628A9C65A65F9BB3A0A2F9713ECC022F3EAAD56537E4DB8FFF97AB55B261405
-800171F4EE9D20E489802A55809FFD41A750CAD891396096E604F24F2E342AE7
-5F74CB49480C77B3FE13DA043651969A77E4A30A10C6DC00D2686EE11A9A0CBA
-4A4BDBFDF38FA82EEBED4F5FDDEA418A2FD90795D076394F31CC0888EFE1EE69
-2A679AE0E278E985FAA578734B25B697C54EE8A1E7890748FA4F72F70ABB6178
-602EDFEB42BD269825A745D008150ABDFED71ED9D45CCEBA6E7DC5C9FB3A2C5C
-F65C73C1E45100586ED2957DCDD38A56031D75F007E90F0759A6EB22491D8AA2
-2DDDA2507260F3B5B2F963D8572D457819DE915C07545006A363B21D5759AA48
-DE12D0A58C37E51712A7854678E3F90BDBE7E9871A7177751095D64C91D93BFF
-1865C5435C3C7F41812002DF6F33E22DEBBBC66FCCD68A2C7AC0FBEB126141FA
-A399B2DA947B67A437A829AAE5A978444BDF7C015E6F9D7E9E29556E0E699718
-1B241DB33D766E6E8AF229792E3219A1744D0FD78BACAAE5D0C45B1D8BF1D5CD
-058AF76E0DE5B062E1D8C0401C4BC29BA5E0C5BC854FC5CB6BAC40218BF00572
-136131412EC3522003DB4AA1F8FFE59268908AFC28DB4F345F8321AEA8200DBD
-BCB860FD60E841B5F13DAA51BC03189E533DF9A8127E4B031B99D270F600802F
-AA9756A102777A7C7A60328E5162B304B9DE6ADF694314E0E206F7BF8DACDF99
-B2EBF7AA2FE4F890AB200E7677C19BF5B3E9AADDB61DE2F7ADAD9D877429F0F1
-6CEB88E5F1DAAFF17074DA50FD6B3D98DBDD26D855001B0A42D4113E2B1F670B
-ECA23F1AA3591BCB2F0409706869191FE908B6DD296D592B4C8BE550DBBE3A7B
-323A2D5A9A59E3742B252E97244B1F7746CD97C6154C6BD96CEEB14DBD25A5D1
-0FED0700BDEB8A8202A377AD8BDC4008DA96C5BF3BA9FA617D418F8A376F5105
-44EFAA85413C8A657F84038E090C728D1C4506CE9306C1DB6032D747C8
+1CADABC2B71A43098146DBFDF7E126069259EB490CAAB07D5C9CE17851C89DF5
+572CCA6C0BB6AB68134501204E2F42F12A5FBA5AF39B47CEFC12B69A96539F94
+33C51466006D0C920D65668958967054C281834D9C7655F2F6524386218ECC2A
+663FD92E0B7F7405B78EDCD58A9F3271BA25BFE20425BE8277E060439CC611EA
+7DFF650F64415B04FBE57214EE2B29B5CE8F92A993464BF54D9182B0EE8D7119
+809AB256DC872A482F0E60B0A19C6B37951739429C3A0530CF99435775F3F792
+94B73CF661AB4204C024F5F19006E9EEDF6017C6BE0394BB447F8234C99BBDDC
+2C2B5152E47DA5DE6755C163062053B41027582ED55DB7B07BF47CD5ADBB02B3
+9015D56435A66993565A41CAE6F0AB8759E5DAC216C22CDABBDCE5D4439BEE99
+3270FFDCE90B4549177EA0EBAE2C5A1E847AA817E02532B5D385D3B5A26C2B56
+DECDAF956D6D29A7DDB8354BDE4E48C2AB710EBDF5C625193F0ED160A40B49A0
+C9DAE7AEF51711C397619848A91B59BEFE41076A0E27BB683A1DCACB22E260AA
+3E86F800CBEBDC74D02DA003F0CAC365F884FB44B3973EA6DC4FF623FE085D43
+858127C8DD62D421859BA1F7916416C80E831836D3CF0B73EC2FA2FB22AA624B
+F3A710DE015119CF6EDAE22AF154541C5A587897D181AAA2175FF982BA7CE014
+4BCD82134B6A6A5660EF786A60B928525C5D88147DAB7EAA987F93E98BAE4818
+169293C7CADCB1DC7C9F07B479534802084F1731BB66E5EB7C110542CD6A3298
+DE36F3507C76C1ADD1AC1068DE972966A0251AFA805D875C451865BEF7CAB9AA
+CCC11E1FECCDF6A9123CE9C74A3FD7085D2983011A7802DA90949FA3BE5CEE54
+AB3331C80548C7466F159105E91F82975A6825D805567BECF797B837AC11E688
+6E6754DC135F6E4C282A60527A9C953B2E50F5075DD685A18098FE4F3D24B950
+1872172E32B5680789F7E59D484ACCEE8E99E45A817CE6A5CA9FAE944C09B476
+A5CD9D94B162E78AF508B60FAAFE7F3E0C8F7923084D1C4A67D3320F025C6E52
+BFC0032BEA5A3F76E76429EE2C793805420E30BE3A5C53840B78F5F38109CF9F
+99E43F466EFAF83C7152E41068DAFB33A323892D80BF6E90130EAC21AF7CBF4A
+EFE033EB416BB7517658E4B5BF4257290474C9CECB421F3F1BA6B80EF96BCBA0
+E0382B913A7FD88E458EB8BBF47539E828136AD3EA71646EFEC60C67F91E2727
+00368846A6416B2A1733E98724F27598E3D5897132BAF362F59817362F6CC968
+E9F3E9E308F7530B72FF543FB9010F4BB2F2515264DE8C31F4E00B62F9595118
+3B2C36AC6BDA716BD6D32FD96D42EC6D302738329A283465AEDA47E552E6AF69
+C84E3B2D73419809C4BD374A77BCFAEFFF9A5062249A354F9FB10893DB86CCCF
+200E466C296BCE3E3E5705414D9BBDA844C1BB3E006A79042825C4BDFB799EFF
+E3EF1B1E7A65CBD0A0A6372E59B5B7EE4A592824465AE2962A6B7369457A8E94
+0010EDB10AF373ED96B37A46BB89956DE7A19B23AD950CCE08CB45C85AE790A4
+E85A6F880EFB2BB7BF3E2E29B5E2A83232A1B8BDE671126C4B33575A60B5E747
+189D930005BC349F7D0B41825EAB6D3A589A76F2E8B243B926C727BBA1EF517A
+FD8DBE8C0A7CA001413225ACD0817849E26C410DEF3918C3BDB0DAE151A495C8
+14285ED6E31111ED9731C671E77C8F54F9464FFC2456F9567092ACF93AECFB8D
+3727837B8ED97903A6D41647019C67E2747BF2BF65B3D59CA88F51ED1DCDF6DC
+806E4A102B918A9DB827A7B66EC4C4EE3E5775C71D8510237C1497C45277F22C
+0DFA2881AD867FDE7BC39934F070C534F1280287BAB0FEEDDC6F8BCB318F7386
+1B376D22DE4B8B5F2E08920C97E4E6E8065EA223A9C359231871AA4CA20811F7
+8F49B500DB26FB2B550ECEAA706932846016F8EA7D9023B71773FA201111302D
+7634F88FB89AFA818AD7C787A2166E72DD905512437EAD930644E4BA72B30576
+71AF31BE577E7EC8B14F59276B18A134A78C03B677C554C06DCB7A208CE49425
+37C35D9D87AA3A7AB609E35F6E91C30152FD25C41BF9464CE4BA51A9AC615518
+2F36CA26ACAFA7E98A7AA00A47A5B6EDE065C5688952CA2EF7B09A15B19647EC
+E0544F55617714BDF5D9AEF7DBFAB78A586A68803D9844781E8A51D609F13568
+9F57F24318710B9C452365D50447226C82C5917EA8A64A2A89ABD7670E0D7E4A
+6D974C5E2B951A64D1DFFE5EE7A485A3AC53E912CC9C92105DB48CE130CEDCB9
+5821598180C98E391F9EC60B400CCA34458F1A373322D9A3B9E1E81BE06E866F
+9EC2178AB4ECDB59D93457073071D7E43E5FDFB0E062EAFDB97E8EC218ECEE68
+DD6D35AA1894825F1FEA6D81B7D23A44F8D08A19CB4BF0E18F4EA76763FB2A50
+64F7E5F07B5A876169DDBD8D650F3D4610722B2E07FEFC533F68819B53A8F438
+5A602C58C058771B3F8BC7F96AE43EFB3FCFDEF95A5CABFAE677AE8F9AD4A36A
+A6BA3F38BDD73400CD1EF3C4831A45E05B9E7B9231420B6D768B23A82E9A4EA2
+DBED14D6E50B7E01927E453EA6D8B30C78825AE4909553EC5BD882B4B035E6A2
+7CE1203A335617541EEA4695058A4E126787E22D5E1669714B969CC5AE84A31D
+9EDFCBBEAD06C9A7916BC53847011A6ADC275A6EC33270DCA0BA9BA932A23145
+BCACA63666478E0A7C5160FD93EBDA381ACA5C8F58F06B3702A0BBAA05DC4CCA
+D2C44EAC4C4D298E9E46CC571685D256C83BEE24E62DDD8E76536F3B3609424F
+F1171F1BF0AD0A58714CFAEAF6DE54191223D0ABA749C8101E5A16127D1D0DF4
+9406C8429E444A743F31B9330AD6EAD5F6F73520420EF459237BC0C66B260C1A
+187F137ACAF9F40BDBB989989E7AB8A1C3335E710B67C3500371A2E7C4AFAB4E
+1FB4DDC6A131072C5FD06791B2EEBE9373F4B3441D3AE98522EA2973A90FA3CC
+4B2AFE99D1C4C9EB7F5C1C47EE9E7DDC3C3B68F650B7C9E886FC26367DA426A8
+71B42B7C4755E0095D0532B46261900F7E8B329AD2EC68A68D4931A0E3BE16A0
+01485EAE7996A78EC4D4A6BDFE74110C2E02FF334F3CA7159ACA2B650675D5B1
+1EDE3B9E601458EB787F3AC4CEA4767B73B52A57CAD1EB70D6568261E9CBA12E
+384CC67E3994CACDD5C0D0F47D887F300F12F7D1FAC2B7CE1197FD00054C0EF1
+AF89DC26A1B1C2AF63021D0BFA7CB3047F656E91A19AE24EB43B040CF5E9F95E
+BA1795D67FBA2E546487A18CBAA7529C721774A8AFF7C100C14C297A9F384160
+A04776F76E2680D6943134C709F687F237F4CF6EF47163EB132B794E2FF20A82
+053F328D17079DF6CF32E9848FD66BC527C0E131E9D1FC97829F5A1CC8E83ACE
+EB69F29779E6307754F922406DC678D1D03B79332B37599691A631E870162E2B
+9E62E33B855E302CCC65BB63C9CF27020B37468C7D6D077A1B160965C068BD71
+82D9F8ABDD4774667E1E39E24B1A633A43366F4944DC8D2C11F7A02B8674BF00
+B23CCB21EAFFEA50D1480D1FDE0202A070AD2E26F3A3D4818C788AAB7504A31A
+0100373E671C092AF5DA9120697A02BC5117CEF9C99529BD7CE69638563C47DB
+F3F5C0D1CDA42F4B4022BA73D38D08D3D9EDF3974411853CB106A42250EE1B89
+F30FD8C198EE0B8853A94938D1F1EA49A01A29DF4223961176E652DF1B7386ED
+5FE67E6862B8C251D7099FA595BECA96ED987EFF9FEEAF458C9D8CC96E7950DB
+0C3953247246EBBBBDEC54FEEA94361D2A48989A505AA0FDFADC79EC04C21B7C
+30BC7447206D18803A805D761E118C4C00FA627E668C27BB2B8611F383B0C083
+EC2C893C321865A6F1A2A5D41FF784146869B32CB36B90F280A1DEA8C0AEB466
+E8E41E3644EFA86A570B35DBEE3D659DC218626E669EDC6356103E3E0278A698
+D922C30B1E17B1306D47EDF100839B607E38625E606DD8A69665CAD2DB0359BB
+114B563DC25B4435EE7B48EE13FF7279684799C77D173DAE3745C5B96EF36130
+FD4287E15F5AD3FC860450B626EEAE8A91C5DF4E0026A79DB29EEBC1CD6D7F9A
+6F5F1F7EF2D86A27C17C549F5AE2A70F37D875ABBF3DB9A887EDB9523640CC57
+8139F9D3E3D447C6AFAE0FDEBDBDB6B684AA0756BDBF7F6FE3F98A9B3762C633
+B402C3AE79AC1FAAA7153067493CCC75E36FB3E5712334BB97844CEB1A373CA5
+E8E3719FC1356C5EAD2DF0651BFA411DB07685E9DC0202D84D1F345DA2415EB9
+589641BE4AC38179B1A84235FFB9C027E9ACBD4F617B85C67200367EA46EFFC7
+D6DD98ACFAE40146DE5D6832ECC2D02E96296E02DE80413214A358F16BDB1C25
+6F36571B1EFD46B7C55FC027B5DB2D02BAFEC217C6F1ECDDFF93366158F0E61F
+E6BCA221296534EEDBE3C858CCD8D59F93FC6BEFD108C15E37171E39587084DF
+59DC1DA290D4DBD0CB60E6A679DD2343D9218C1C710227152D2E969C9E6F190E
+0BF9B0BC1E4869FE1E84F5D75F181A2741C1EA5BA1F60E0CCE48721A66949703
+6CE15B088831BC62F8036F41617C50A1AF95BD03BADCD06EDD21D2F7B4723B66
+33592393B74D2181FB85F43261B2A13E363EB1A7E6C659F7395DCB66C330A744
+F73D1E97B5C056220541984A964031D7EF095EEC10AD3A25760F90C6715AE72F
+EFA9305D5D9CD8DF6F40DADDB59817389B1B8230BCEB6C14A121BCA144561E33
+9D7A8A5524196C58669ED88E1D9045C92CBAAAACEBC1A811869214EC20B591B8
+65A23D369213762F23A57C62563D29107BCD2A5F5AC891A57C9ECD174407F42B
+1AFCED966981E52DB5C4A4C3F720B5F59F040E301CFB6A51AD65D525E6B5C87A
+35834D558A2060D04BF6E707B7911EEC1DF03083BBF0F9183F4C8CF77B4E8D02
+DA5EAF50FF0C488E9F79DFE5430EC8CD8A5F89296F0D821E493EEEB1FCEC24C9
+78B6F286AAE0E651F4C7DC9FEF119FA5BDED701E7BF810916EEBFB8C6B484E56
+8819F0844707AFF8DAF18C5D3D9B517F77CAAF2DA954513178956208D8C9DD61
+220354F7508D604ECC88ACD5EC8043289F2AE45CCD364EC4E166DD0EDEFA72AA
+CDB6296445F2990EC4960843CD578C7006022B95EC3DAB29952F77CF1BC8080F
+DF604B19F6EA7893DF55BF917942DF0A3BC0CD616DBC17086601BE682B684E5B
+D857526612AB7AD14FB568F14DC362ACB03B62C9088E086F65F35893DC6D6855
+7C182E47D8777123B791574EC9B21B84BBACFCE67C09260399506A647542D7FC
+13D6957AE5E5540EDC6426D593584FA88BCFEAD50D58BC8ED4CF2EC9A17C24E3
+116B461A5700489D4BF18E5E0EF65DE53B54717C214CD56136550C3A6234BBE3
+EC5E3E1419D85EACF258D99FC6E24C31DA6F295C37F67C60F67CADABC52E9DDD
+C551E89661D67615730BBB10FDBD1752CC3878432692ACFC21574672BD96B124
+14CED5145F7D900832BE52330E61DF52EA15E053108A216F05111E10362F3150
+CE2C71A1CFF3E180AC73656282F8131D04E7AC606A5D3DD7F73903F86A9C962C
+7E3757E021FFE13F500291B0BD7B125CC72F72AE812CEB518635DACE4526D8AF
+6F59F7E04BAB47EBBFC00DABC431C138C3AB431A5711E8300E642057C1B53406
+6AE834CF6E015BC7C1BDC5732A6FBD1FF9AEE433CB95EC2876E5C21088D6C9DA
+3B4B202A9DB29F39403EED0162A345C27D6394EAE12022FE7DBEDEC44B5C3DDA
+2AABFE9FC183E1444041A93D61FB32513CF0F9668F6BC1C0E70AF86825A2AF96
+9E3E81E1719E96B57444E668B3FA5C5752CB20E3939E4FD0FBF486335A106D06
+0B92D048462A276E06ABBA46C29BD8CC2DD2E5B1D9C1C5473A2EE9A07C4AB93F
+D6145C20E057B0E3676963F91506E04ED4F722A21E7E87FE3801EDAD2B538CBF
+C6F01C248A875EE5465FB6F18461D90A33EDDF809EB16F41ACD4E9A787FFAC7A
+B898E66ACE4EBD13D4A0EA1900960BE198353E0DB4E4B487CAB3C97CEC4D4F47
+CA30F76BA036EA388F755A6DEEE83B44562ABDBE5A5CEED2F89C9242DD3C940A
+61AB21E66AB7467EACB4B6DEDDC793511902B452B5F61E1E6D808E29C908B747
+7AB4694A4CC0F9F47E00507578B436523E11398E7B55CFE51C6A8364F301D487
+470CFD00A8A47B31D50106E49677E9D87956D906601F0E289520E0FDE9E499CC
+89FBE94A5E688FF50CF7B2387E08C46FD5B8E8FC96B137FEB9FC5DCE08723D40
+06E4A53E208FAEBE3888F0F93D2A644C06CFB89FB5B2395B49BB9A4EC70831AA
+05C293689F11F077E05E6F0A8E461DF9FBB71A9355D720C8C1373D3B3153DC00
+410A637D79C7CF4BA752EDCCD261E31014E6F547CC2868714AD2DE3C31E89617
+23A588D89ED8EE5C659988273E41719B1DDC0D11EA1D3C726AEF7AA29A34951A
+9D45D317D2746301CD942D37D2876ADA6E12F86D1AA6B4DB8F2B2EF325AD1F38
+82858F588D2DF81D22826A537BF910A7C16D5FB515246F6C0D040EA4102693D8
+A87A3C0B8583F860B95D9B9C79093829CF6203487F60E5D72D5E82434EEDA725
+AC16C090B8BB9294D3E393903338B25B1D62BABC34FFB10F4BF2D5E82F60AD08
+72DD274414A257221EF9F5C5A8E8DDEE14836700258DB7D13A12DCD0DD021BC6
+589799D67D959AC31F00CB99170D2DCCBF8160A51EBB2CD2BA029E848932BBE2
+B9423EC5BA33DFB0A3C67CFB4D797D2C8122FBF2C7EA01EC2C399C6CE040E3F4
+0BB6F2D2F03C930204B6567A65CD0C60AC6A732E50EE667BC8260F1C361A13EC
+2B136537DD3896FB79DD38618F3131C921BC9BDD7E614BDF54C1FAD91BDC4679
+7C5E029F2BDDFF742C814C412654050AA927369C8728CBFAC36FE8F13BA49E1D
+A0122018BF04D21DA0D52634B0B899B95FCD1DE6D30CD187FADF6751886A61D9
+101426CC72A376E06BA803534C9A13DC1C307C050950FBBABB74E47F031C61AB
+4FBCF8342C2BFA693BA2FF69E019AFA66A1C0C32DA0D3EED025BFE2F7ED95B81
+C8252D16F395F22E8755FEA6F4538A5CF02446E50D70D56443CF211CC81E26C6
+8C39D2FCCCA77D5F3F9ABA64A65951DDE22B5EF4B4496F921DD0FFB057A48639
+784D16F9248C86F267ED2AD0CE266320877F62BC81BE7C9BCAEC9E1584F94D36
+F1ADA9AC0411D5274CBD0C442AAFC80BB2DDB74CFEEE05236E06813FFEE32223
+7ECC65E13350B557EDDEA13585EBE55DC13183F5E99436E7DAD73CBAFB4CFB64
+B5BE7831D843596C3D4253F857329AA4AB04CDB89B105BC802472922FAAB7F15
+DA1E0B69880562E14FEBBBEA4DA6BBFA0651228596F9B8FC9F58D4581AE2602D
+05A865808D8A4589E7F1AF367B005A6DD91D729B5AFCA23E62D0DC90F3D6A1D8
+48C9168C60CA6C56F2F5DD26C1F5D684C2BE9B99C6B6CF2CA3299169F89F7C6A
+69751C92BABCF3EF4FDEDBC054DEFE206736309E9B389C6076545224A42E7ACA
+A11DE0ED03455BC7BA39C03D85551CF55555FFDACB028B0D4BF14D623A73D1DF
+3F586BCF7B5055289EE607C749EA6D4A9395346EDAE9A4E9217DCCA5E68ABCF7
+C3A056DE823247A1558564B77C32260E6F7E0B3AADBBD96C34C3198B49F2A153
+C01CEAAB7CF15BE284B73FD0A96E1F95FDABA3EF350CB517B32352A8E0A25563
+73FC2ED666350CB611424297FFD478546B8F7FF61EC59FE1CFC6FA55A4B3B826
+E8AA4C3304AF466CB20167C94DA8BD705572B76D23AFF04AB385FEB64B59C2A5
+8BA8C060E27C100E644DE834A7473A54924719BE73BB8A9E75E3C9E3B81B0D35
+30A87D83F62BE30440FFB54713CA7A0BE7E88EB555C1F3AA39C089A3BEA298D9
+346AEBCB2DD30D7BD35AB683816FF2EA42F4D43120364CCC51D1EDA5ED096E64
+D727DA194FCBC594D84CD31DBBD05FA91A96718B111E5D33F52D946A6173E661
+CFFE5A419A3924AFDC74923CD358FE3B3918CFA198DC5BF8F062FB77F64EEA2F
+4986FC5CFE6601C337D095024559823097737BCA52E916A4AC18D8717C5C71CF
+EEDEB3DE27EA888639BBC39605B69FEB4457E1D5580F4E30F91917FFD44C25E1
+C1B6972076CD9D585CE0F96C45D30A95857F2CDD7F5FE98C22485B63398967A2
+9678FE1BD298C81CB1989865C7F82EF201A1DCD210E8A8666B15682B23429E38
+76BCF61BAC6C0B89DA2BB294C8B04E8D4A337065FAC924BE82913579496AABA7
+AFF726263A20E7B8FE86B696841FE021167C2CA8D5AFEC6EC839F67AE4146408
+BB202C20EA7AA5A91D3E45AA3661E902E35C240B5AFB5E540188A440EEFB30D8
+0C46A4E74FD4B1C20F09A3625A750427016D08EE8C223E00D21E9EA40A3FCCC0
+C398BEBBB617FB172DB89200828DD5097C44062855444813A5479CC20B9C72C4
+1C78243BC0D7CBFDE1818D53E6F39BCB890932580C6816A9E3BE683DB17E6FD6
+E063F6ADFA119B8850ECA736B2032B835BFCAE30F31C23B028237836F9CFAB95
+066D6A7F20B479AC07E5A85D88E0E779319FBBF3F740C62F41749FEB62FDDC0F
+F136E8A064F3CEDEDD96A74E423EFEF433FA775119E096B80081E99314AC6EAD
+D32A9893A1D0668DFD80CA35AC73E62FBED3BB1F55720AEE1846E97C796435E1
+CEB76183A40AEBB7DA0D4888965F463221FB7F806281E41BA7A1F75F576763A0
+283F8FE8280992479A964AA115C4FABF84717540B98D4F7AE5555DCE2972238E
+F3A2F94B6C40D0523C4A1C009412DBC6366E8D781E5B3698D7D4B96746C61BE8
+508EE219A992E61840524D48A521FED8D2439F31623BAFA588EAF05F886A33FD
+5971BB5A5E6F681602B2DE0EC7076C9F674112C3284D6877F54FD16A95603190
+1A3797B579D26CD06AB1B6778F9DF9C985F3178101E2212F1F48688E43BCF34D
+3455386E255E74D309DB3B26248064D916A864247884659ACEBFA327C048CAAD
+87587D8F8D66ED620A2FED29AA9B61447CBD2C4612CFED3D33C8FF8F4D4D93D8
+E2C51B7DA2D7C54FDC71DD454AD9CE3E85B31F6B112FBAAEE776A3A3DF629644
+360AEB7F01C66D1A3312F821753538CAFC7154D26E074D701A9493A8E47A6B23
+8692FFE12F7ED5806E0DE53114C36F3B00E9D2BF440CCDB86CF2423312C275FE
+03C8F4F0BA3FB03DEEEB32602DA2DCA8C7A568184220E8F961856ECA81D61D52
+CC12EC6267B60BF8F086C8C518160073956B4559C360F5B72A8E99936BBDFD95
+BEADF0B24B10295ADC7596364044E54D0953B9D88FAAF4412355D1B4F2483AAB
+4CCC5BD5F1D1F18A48047B551990F3018A610D9BE0E6996244640FF04954E9BA
+B2AF1B248B8BE48C0131751E6181B3D386D04D4D4B7DD29C6601989BC3DBA515
+DF6D0E679EB82BAD107BA8E141CB987269E6DC3230F13DD9A83A1136729F861B
+8A2CBD90E8A85C95315258915A24D46784FC4C285A25EB9D3A64F2F0CA3637E2
+64D72120CBBBB4AEF6DC66232DC897A9ECD688A496EBD1C2C37A82019131FD54
+AD11EAADEA8EC2A00287434C70E2C85099EB41C852CA05EB139F930F14B27DAD
+D9F7C58676C0B9114347AFCF2C428170C6D28ADB0CACBA64FF8C4399284168CF
+0E2D7A5AA8D37FB4D1D549421B15E2FFF224DD4CA740F3B8E4B32077F57790BE
+F6242EC557C7388B78A91D0F50046642580B65BA6B2682205A383771637B5452
+2D41EE5C9E948378877C6F1FFD5E5016B73EE8DC17C761F7C0AA8DC97B813948
+858FEC8E157EF1D75333B7D164AD1D67FE99D0F9410750CB8BB2E71C8DE9987A
+9CB0EA84F9F5BCBAAB1FB1BEF9C68FBF001DE7C8DDEA3932C9D08F089AC0D5A5
+EC79B0FCDAF74C16CB6BC8F99F77893AFE05F9C82FB48992F2BB122C419DBCB3
+C0E80DE17B30283603EC4CC2858622813D302BE6FFCD45957B2349E2614E00DA
+1404D3019A0B58F7C67ED067CBC1087130F8E0F61F11ABDD312770B775CAE81F
+BC4A3BFB5799712A2B47F214775F5410DFFBB70E07B4790273F7D528BC56B786
+AAFFA5FC7180DF2863BC7BC523A5B151AC84A07DDBFB58D729E10ECC6E6FFC27
+4DD3651ACA7F79F836B4BB7A02BF44128C2500E8147A1EC76B8EAC477A73968E
+D66F349E677AFDEC7BF3925CF5C7673437CB38E920B3460AD9579887CF5C979F
+75DA527501EC96B0155A4A5168BA942BC479099E9E5500835F4FB7C59AC3B72D
+C859F3288C8A14868A1CCF7E0324796F86C4AE86B26AD14A580C7BF7EF5B9EF1
+57B914B2C3BCAEF6C662A8AB1F5DE53F6CEDC39D0CAF30449DE452D54D8407B8
+B93549ADE6052CE023CC54DF1E446B3AD5CA66D6BCAEC638BF583FC660333BF4
+0E8C3DBB8A755B0B41DB7A172E5C180F72B020772FD3C0396F863A9D39D02288
+D44631CCE891378A3A2F87093D8125F291A3B54164453A573582405E771B9707
+9DB7C113FC5A1614343991E41809C94F0B30ECFC224E0B420E66931BAE7A88F8
+61F7FB6CC6BAD5D8B319C06E4474A6BAF2E84A1271CF63007280395BBC2E60D5
+9E731C841C48CCA835CCC10693A1517DE74F0B6269AB54E9F4F4A19FC1E4CC59
+E92B834A8D009A30EE61CC5690D6717ED57301179AD3F2AE21459CE1E0AAE5CD
+333F0D6C0DB6FC5BD42A8529CBC12CD5F12E74AA128209B33B0E3B2D5A33142F
+25CA2B7A8E91BD3F4AC6D90016FEE8FB983DA9F0F11A56F83E69A290178D7ACE
+BD1AAF67DC2821E7CE67ACB3BD37D5F00DB9E557B3F3776325DFF6342BD8FC04
+16689C16B52F79917A116750BB35F0FD5CA8A288EEEAB64E405FAB251469B6F9
+790EE601085D6955E53207ADF019F5142F30D454905971711386DB8C5F5CBB62
+60FA5E4F02A066DD3525561C2120081D9BB2120F0059E75B16B16D62F7FA5A32
+9ADB4012761D906588BD0CF4539C83B137C9E8222474892498932ED34267C75E
+3B66063F9908BBF059F7A86422A67A269C1F97A1967A06470090B2C8C465738F
+49253F8214BF274EAE2CC31ABAA7239CAE3333AE70C000152190AD3EFDAE30AF
+A9406D9892839FFEAA4EC1A1286697C1DA989D6D38865E2AF2D0BD6E8C22D16A
+12A22D1A5EF960401F74C6AB0858014A79BD434DBDB6B07CDC89FD58DB08DCE9
+C8AF3A125309F1B16D8C0AD0F0A00AC8ADB692F4AAB4427E4DCC5820FA8072D7
+36BA689AEADFC53C935F6CED02F9C4161DAC674ECE9D851F665FB168BB11F33B
+1A32D9CE142B9A3C947F23B7223B3C142DD28A99376208FEDCF68DE4F82671BD
+98A7493C9FD691F9712A76F21D7F3C1E9C6BFBFD6866D5E28964CBCAE26056A7
+0B5F2F32C02856CA4E34997619577690082E64334E5F9CB59A341D4DABD42069
+43C255657D8E19C4857EF010A1D012FED32DDD8582F6FCCCF20C2237BD9647DF
+2FF0D04ABD5F18C5BFC46C818D9A33380B67067BF9443A58844C748D7829123A
+7A1716533DFD2D146280291EE9D0961DFD55240F6F236A3BFAF191F07EAEF9F4
+DB2913C2EFAABBFF77F1F8ACFCC671E7F551C0891A9AA6126FB777A2AD6C422F
+670C2CCDBE985436FE986EA23B15328725EE453B5FA8DEE97303E5FA09496299
+A19C6141D8091354680458EF938EAD1C3B6F8EE6C4569DC6959F57EF43F4B48B
+E55FFA0E9493D6F9C4E65682F5179BB7D3801DC2FA361C88FE759BE5905E35DC
+C9B9DB076EA3D71EAFF6B86D33F73C067B4AD8D9578E2B34248CA7CEC6AA6962
+799DA9D0F0CDFFCA0809E65ACCB63F818F572BE13407C650B1283F3B43DBD6E1
+FAE2F68F5B960AE50683D7C91F2FC2ADD31A701C8D4249EDCF4C13F96AFAD087
+BAFFC6FE0210264CAB0ADB96B074DEC79EEAA956ABDF2EC21506792C6DD4427C
+4ACA5119A3B9CAFE49CB28EF617885CB2B1B1EA35BE8454F0AAB48C9B7D5329A
+044A830A90D120AD59907147476E3042594DDE4B4B6F28F76509F51DC3AC4B30
+C6DBF5480144F23EDAA028B89EB889621A16E3ABA90FF0A01B351029EABE83CF
+362A392A6FCC388DB51E9D279148F5ADB487CBDE1C05B5AB3C7361C001CD07AC
+6AEF38B152A34DEB4E8FB910808B940A423F525372D07C2B14CEBF1575F44D34
+DE434969ED9A4CE10EADD429DE98EDA8CEC59642456275E065EFFAF4310F2FB2
+B5ADB68D65F2ED9342DEE4789F3FB7A2E77248D77D9D85DD0A0D165694437C3A
+1EB952039F93B6CC20BF07CEF91E6DC21E3CC2183E293D23A73B93D9D5944B2B
+A73DE3373A363D0D8CF9446651F87F37BBAD096C8A51E950D45AD8737B951637
+F2A5F893996B97311A926583E060C7EB47D5BE8B880E84058403AE35DE888948
+1AB9A7D811189B450902A1B939B01D6918FBDF6CF1A3F553750CB233E9BD3AB3
+9B5F898D8802030B60205258AE117E653112D4A2DD904DC6B04DDBCD604BC045
+C61FC9E7734F2876B3664F664C50DD43138BB6EC52F7C76334E09C11B2A8B4B7
+9E833D3D5BCB2B7C320811E80928E949F55D393C48CBD10E8E31442F83406E50
+4F18ECAFCFB3BD5A9DBEE5D8F0077664CCB2AE96DC23272E35ADE053D3D021C2
+456AA2077BAC32820A207B10F7E9C0CB0805D48DA03E8F9741C55476A8CEBBAA
+516DA7F030A174698B4812A08AE7376DF9A0A017EEF66BB7487AD761C33A62A3
+F490245A0E19F11EFDB6EE7833F09E9BD88B769F752D1E5BC3A17B1543EB599A
+0A45FB7644EDAA9960B39F20DAC5DDF27A30515E07FA814A2352B685551F1746
+B00F8AE674AABA33DFF53B7B22F433041848DB8CB601632715E12FCB08D36769
+21BED2FDCF276610FB03C7D973E771EA0A5D92EFFDB4BFF1C3BDA4A25E99ECF0
+18A28631C6BEF1887A2486ABB49C738D6C44789A2DDEF0257D9C92DDDADB06B3
+B14DC2051F7284BF41572C77256520126AA873FBF8D89019294D4466D4FC02AD
+36966385FA1E6B7B9BA10E80425F32B92BB7D7EC1773FFCBC60F0E742032EFF1
+1D8B8BCFFD37656E73AC3DC17116471660E751499DB6802A7D659F489BE576B8
+A9C229FCA2D17F23491D42211CA620DE1AFC8F84751F7165931BB5FC426C6EA4
+E0B3C686E3D728B66817CFB772E057B462696A3B3F41500A3F3C90A931500F1B
+D40681AE7365CA5F15301A5CA9696776AFE6781072CAC4E3CB3ACEB90395540A
+402C369F2A57C74FE961090E22AF52110FB5D63AA2D9D7E42C55FCE68BF139D9
+61C798912EF55B0EB968A1F8EE1891BDF704A696D5150F341C27111DC880A50D
+CA2E9E472EE1C60BC1D722EEFCDF7148F305FA2C68E835F8E79A6472C1B2775A
+3A1716548E1DBDA1BE5F03ECBEB84C47AC9BBA932C02AF18683C9B08754E1D0C
+A83A875F3B49EFA79BCD65F1531F548E82BE46F20B6AA927EE1A465EB926892C
+01BE3CA5A3529B11242A20C79FF141B1DDD338EBD07DD5256B17DBD701AFDBB5
+4CBB92E688F36F65EB94D0C9EE96589A4035CAAB711984157AAD09C7D837D267
+112A1562872BD589543B8C088C1AB432493595AAA3F25E32B30FF5AB594EA196
+658CAAC0540F2EC1731168E0E922C758574B44F867200FA3354D91D658EF8BD6
+59FE207B55D14AAD7B71730A0277AAA4655BBEA27DF09D80EC1C0CFBA9E625A5
+113A8471C6313860684542A6322DDCD9E01AE7D6DD4E892C64CB542061955A99
+67F90DA0D2A4C746D557B91627823128751CA68D1590DD2DDCC671D072AB8CB4
+8ADFFA77BBB9AB181F91C4058A32AAEF44E5972916723D56A5853F815D11F255
+6059C0EB43BFD6C72E246856EF50E8B341CAF9A88C678D509B44A55F357172B4
+75E3376FEC94DE7E0C7F3E1B2C19587AF367E8335229C7D6A68E7D6C82A166AC
+F29FF4084E4AB0BC080880F8DE60C31348BF60C66E8722D27F29626696EA9E57
+409E157A0A9097AFFB6FA65453B3D810363CEA327860BE8AE7431CD041EE4BFA
+CDA4279BBF8B7CC837750F9211FA917A8940890E1ADF4AA52D23D89FD9D3CAD3
+6A37306729DD4DB7C6FDFF81D323FB5EE0CA7AB80751F9C55C4C8CAA243BC2A9
+3F4CA75AD2DE5A93D116D4C05FBA19E4CC818C2F405D95435D1EB868D208768E
+C42A6F006F5FF2E62072BDDA2728E1AE41B8E7068A7C51D5D476255951EE72F0
+A6B559B3158847FD550A378B5700AF86EADCF34542EFF2010F7074A3A41B9885
+4B3B85AD46E069F94B418AC65A3B2B49ED19AAFC332464727D00FE9DF22C9244
+77D2F689B4061D0755B4597947739AAAA671FE47C43DFCC6181679F4D7B7693D
+B749DC3B7B3E3EF44E30FE88758C839F20D0CCBBA69E705478B70E00E7B85AD1
+8FABECD6216A57921C8460AC9E89A485C24C9E217A4F12E4D1D707222EC7295E
+9A706C8431206C77B9D493502159BD3B0FDD838008D707620BFFA93CCEB4FDFE
+D33A3B2C96904F47E408DE92FF15D5A3D0343C4533FCAF92174FD4F42FA9462B
+DFF21B3FB918F14FE11D73299599120E87E6C46C42F693EE172CCD31F90896B3
+94E21560BEB266A4434060BC2ECE5AB3B9E68E6D850320C210820232620BA4D2
+E4A7085A89CB81ACDD093B276849A7DBEE32FCB1D76F1217E1CE0FD8B82C06B6
+E3AEE75BB78CAACDB0D13C1DAE23DC3B015F7F20A3105BB15B8717E5966A630A
+806AE27B1F1F69D82BADD927DA77DD114C7AF90CBDB41C21981FF1F2370C01FB
+DE4E82D2BA4B0EFB68EF62198879603E795A554DADF6AE39830D780E9CC85681
+D21D59D695EAE98545E048AB1E0E0ADE1B11F87C75205B614C25E711AC261AC0
+FEE1C8A3D7C6258566250425EB29DAA5440F0D25EEC5936DCE240CF8FE621248
+1F2201260C3B32A3316D7FC9C07CE8394BF163D60087C5E744DA4484628B7BD2
+2F2C00D52B8009654D9073FBC9D140AC4EF480BC1C5C1AF28B404050EFC20309
+F9D06A272D4163237587C2F682C2689796BB0C2186D14276D35E7B8C6FC9E4C6
+61FD4AE4366BAB7A7F646370572E429E843C6234AE4E9273D25C7801ECFCFCBD
+6E7299F51D9DEE0B232494EB54A49869014AF5681F52357AC30BC0213AF11F08
+0C24B9240AFE25579CA9F39B85AC32A55850A65D283B7121A562D61D6B56AC4F
+BA1D60B9227A3B814C0A6EEF4E0DACEB46D2282958457F383881D8C6F90DAADF
+4D0DE6AFA48C8C69A64336448879E486B506077E9A4FC3EBDA12C9A07399EF06
+E7E12EF338E56BEC8230F0AF3AAE350C2EBC436C2AF4CE9C3B75780B4AFDB879
+E82EA96C98BA7B2545CA233A357CFEDC96B4C6454C9DE2641807826AE867F441
+C7D693775A9657FCD53976241FEA0A5F2F2A82DD5BE4D63C2C3B1BEDBB946516
+0E2424945F1CBCA9C07A34F6A9BC63D9CEFAAE558F72469BFAA74729D5EEAF9E
+21FB0BA66D2C7C51FA2DDE5667BDCC956603C85702A63F95A5C9B016B6E95D5B
+55A76377FBBF2D473430C3A3393871C98B6EFFA275D05D6EC5365DEA9B8EE551
+57BC3C387611451FFAB5874E8A12F9FD919DDB1FBDF4D40BB450130861C9C181
+0E947D0F54B33E0B28BFB993792AAE3DB823751546A887E371FC392A156F420E
+B79861552B6E52C6B452D8D8C20AAF65CB829D3EFB220A899B5024D212DB23EE
+8BC66F37F97223229F552306AA956859709913E98EA7D5837F0B2E49EB99DDB7
+88185058567CBAD16D07DB5DAAA43448CA7AE056136AAFCE9BB272E549E70D82
+746EF54E705BCF8F7BEFEE5E1F647166EA886FB46ABCB95823868FA411B1F960
+5019471DE6465B7C44063EB672AAD9C96EC0F0BE53B8051B6C0277D0EF511E1D
+CD164BD4F0504DAF3F0F5B89EADE95D7C5FA9868AE6F3DB6E4EACBF5F12B4B2A
+A0AEDA667F49CF5E113E11F5ECB33B9BFFC6B5E20DCA335728B5EE2E7ED4E170
+7580B6141699E2D314E83383F321B8ABC44F57906CA1F7DB25F52D325C32C276
+79E37A158FCEC5E5061815710A1C5CAAB2B14E3F5A4F1B3621EA8BDD41D2D75F
+EF320FDB4A370049B4A1254C5078409E05E8850321A5043FC3EA6EFEF6F1FC6B
+F930E850AA1DED7BAD08303D16E41ECE0B881BAFE6F4690777A002D85832E87D
+856F7FAD4C8D9F1F5CF7EB65873429AC031C187DF4CF5AC8A79E42C953445966
+5554EFAB727E5F9DC28444618157BCD0DB9F161B1B35A634CCBAEE6AE8A5ADBE
+8261DCE98B0D609E038D63ABC125F6269CE0418F1D091F12CC47E41DA6855CD4
+E27370D8602B14F33D558FDAE72CB4E8C6259B8683C452E8001A5AAC98A515DA
+8D7AFF58C8BE4DFD933987D14B62F080C72FC1894BA477A32A86C4D23C70584D
+3119B5B5463F0484650010C9AC80FCFAD166C553054E1A37F4C28AAC4775CBF5
+28D8AC71D793598CAA90C5D96ABEC9D6561E16757487BECCB390EFB7ABE3E716
+B9ED5EF198456A9B4AAA1E58517795A3E7A18C6E59D3B764D0DECAE0481C639B
+E3F5A6B7F3F935E69F6FD23BD0455929F2B147B2CBAA29927A1E10AE11FB8285
+06BF42E5A7720FEE61BFF5BCB82729E27C68F35B62939E574FF31D222537556B
+21673E155B90ECDF8D46C1D5DC953798499FE381895EC6A8D42426C16C96391C
+C60ED2D9D9D6387E16E8A7ED9976D44BCB0AFF4085A0609381F5A4AD8990BDE4
+25594F927E5C1E8A6A6731FEEAB01E58D44CAD33C57F486F3E8EB4A7CD498358
+73C2A152E49897CBEB77B81B2E2D28E49C5900D88EFD5005A7ACB67C1AFDCC0E
+28D73D8E4F8CF5182F0CEADD77795FEBD075B96BC2A2D8D3737BC6E18085ECA5
+EDCF588CE112C8CA36448F9F11E6FA973314C97FF40F5D9D597E015CBB2EB337
+0B6338B1A5FCCF2E6A75FD0A6C1BFFBD725B9D6D82DD05180536FA819E2930C9
+A4EACA8D984A4FD3A1F3EC9B079C28CE2DE5BE82B8F40A065F849D70D3A35063
+C954FD1380B1F05F9D31FFE8D08F78CF7EFDD8A02288F22B4C4E44A2CD5596A2
+FF82C6F8E964781244D69E8E0079E3F043ACC00B93E0A110F5B927A01CA981B8
+4F3F0827D905FD803C79F1611E55C00611C89AE6DC3546F2324B6D6976C8DD5E
+FDCCC7ACB6E26CFA0550FABBC009F80AC8AB9E0E63C5CD126C47E15937CFE447
+3D709EFF9D378A898F57F49D4507C5A52C83625E27A6EE5D48559C4733F26FA1
+56492B7F570FFC1756752193C2AB7111756F53FE22EFD2E92906C0BD7F4FE374
+FEF8B460F70D2563F6D11D25294EBCB0C87EE6758F96D48CB4BFD4B96790EAB8
+C218C8AFE83466DDD7F3EA343EA6F16917F02164DD93CA7662481DBD2A0EF160
+CD2FB7E8DCFC439AB7B95374DAE86DD11A668B3D62161E0D9853B156625BA448
+50E9A631CF1770204864143F549835BB041E8E0CB16FD543CB924A21F8492C31
+260A8C5B6AB3B620A3E0925BA0C435804D3229B57A96CC86886000F51FB6B10B
+7A81611BDF82EDE6BE5076C2F251E5F30CFABE0AF8AD6BCE8DD42BDCC51A2C94
+F6AAE36B96A2857FDD2C67C909958C8F144351EF177BAF35542C62ECD80C7D97
+6086C9AEDB2271884AA694A44C00D33180186FAA005A5A74997E69B6AB4696F2
+FD524C29572758F42F4E62E6B03712822807DA0ABD40007BCCE9BE0A4A25FD1F
+204BD421F781E65E7DB7EB9E0DEFA40E3FC41AA45C23F6BF206D1CDDA055920E
+572E74FE52807FDC085654C69D5912339A64B7B8FFAA5A759408ABAF3824EF86
+5FF8B204B794B410B3EB0971A15A8EBC2FB548E6E4F02A77AFB27AB4A1B32297
+0C63C7672AF4CBF0110C689E3CA85791FE63C6FB8F8AC62A06E4ACD31289D5B1
+3681A897D07A765DD8974530413513583B4A6028A061700BC66889C1259F2E43
+A1010AEF62FE334697FE16369EEC9FC1FA667529E0579F9CA83FE8B35A171DE3
+98F69E3AB7006689426A223F6F737A46604A92A7F7D5C7E526D37716759892FB
+395F8B05912C915B748519B630789B7FA80C4AB0973A34D1EB9EAE97AA8AE37A
+0CD61CA068BC5185EA7235AFC3A4E1935D2B58AAE607DCB847B461234EC655F3
+F7633A94A20DA340A667540DD7E3AB9FCC14EF993869F889EDAE81C93BCEEC57
+6BA0D11074645BA9DDF5375FBE4CCFC25B94DF1175D9DCA99E816AD28E746809
+1468EC9ABB60445A8A43C6EB3F251876938DF0E69BC2961CAF2C049586E0C934
+448FC1F7B9B6690042531E52C06C74A50289DAE7354BCA24F82845FF4699EEF8
+4010154A0F9A93EF3A69B43E7C21BB5E8B785B2E7322247CFB2E9F33706DD4A6
+B963DCFE7A2163E7CCCF6D55C51046F59B2FB0E43DADB8D163D56474F325A92A
+E7A0F2DF32182695A3224B9A863ACE932B665C8CE70297FD01F809C799CFF218
+8AEA8DD9E3F68C4296928596631F3E1B0B308D2571C90CBFB9FAF815F81EA080
+637F95F144EE8EB308E1AE572A4EC8C2FFE2D91D6BE64F5A78A2B3302801F278
+D7485FE8C2D2056D5CE9BF61D8235400C940F867EA8F24B8691611E164872EE5
+FE7ED0D0A9EBE102298EE57A87D797B07338A732EDCC1DEF1CC557F773F49994
+BB7E450E401659DA0958EB2DF17178D61303515C13D7E1D958410F99ED99BF58
+9D0C552CA2C2D15CE9205F30CA98281BCEAE00D541A62BCF1537CDBB242EFAB4
+79EDF9014F58D7F742EA50D34458088A7C3BFB9C44CAEE1B4BA993DE5DA251F1
+481CBE79888410F843E2EFF714876CC6A2166003CBBDE76CC870944449CE6051
+8C0E56001F96C1C9FAF04257C6F5CCF40E983A7CFD77D41CCDC9CBBE8EA15C79
+44E6A68C49076DE1FB6EFBA826801D4D299F0D4FA5B1637EA89BB6A8A576FAEB
+87AE30C25B6C6E24E379EC6F4C143E072311454296688BE6DED0065EC830EB4A
+2A94342045BB157FAD7C9A1356F0578B3D89B622F8E2BAB39892D4E684042F62
+99291A3F94D593B3A19EC975CF28A03171FF08F22837982F62AAFBA694DA1752
+F6A8977683AA80BCD53E09E2024027B338D85D2FD4295EEA
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -5445,7 +5134,343 @@
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
 %%EndFont 
-TeXDict begin 40258437 52099151 1000 600 600 (main.dvi)
+%%BeginFont: CMBX10
+%!PS-AdobeFont-1.1: CMBX10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:06
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
+/FullName (CMBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-301 -250 1164 946}readonly def
+/UniqueID 5000768 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
+7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
+77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
+2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
+FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
+DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
+7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
+9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
+CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
+6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
+E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
+8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
+3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
+EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
+0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
+4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF
+1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910
+757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E
+0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665
+6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED
+E067598E1B8B781EB59569E3D0D54D8EFAE0F3EDE26279776ABA15341E42E636
+6E02817082BE6FE0B04249A4840C11F95F8ADEFF72173E9A5F2AB2F62C427E5B
+DC010E18641EAC906A5EF0F9BC2108062134A7F10956219C5847C0D82F0E8663
+12D963E012DF0DD899911EC5D8096F80B49CA3444CF1294FBFAB57DFACC9D01C
+46F3BA2F3D1C14EC30CBF83E5729F1C074D4F1665405C9AAFADB8BE41EEE43AA
+16966E2C0CCC853C4C09F245ABFD4603C4AA55EADC0A59AA6E9F5895FAF3D3FA
+83EDC6E2540417530AE7DDA8EF33DEB81444316FB3F93EF944D9FB06745BACE4
+848398BEB747E58310BBA39C64E341185C82CB77E9D4439EC15BEFF1335F22F8
+F036517C436225F4125ED67ACA7A84230D4E2B6CA713FD6B3CA54BEB540D4604
+D58A8335BC20052440C4903786FE3E335E331CCE36A13F05F71126F680077AAD
+ECAE10CB7C057C2D55F384723D5C30D20FD1358CBB61AA05EF45403C3B8019EC
+6350ECB240F696BCDDD1A9F0465CB43B824457852CEE14CB39164B65A06C6F60
+2FF3A2A62E9567386DA80C4AD094DCE624594C888329A1E884A7D9B1538B8504
+7669C9C54243C6D846027595AEFEE8F2884ED0616E9A2FD208B9288D26172F6A
+32D3C5E85739E3F598A1C565423C3F37085329E8A27DD7E01A7BAE8E77762556
+A132E7692F6BA538A79270756BDE4ECFCEBD777E6FB6059C751E5E3F07BEF17E
+5327D417AB54D4389670867D9060395A5A6C87D387937D8C06F65B15FFD5C761
+BD3561675D48B44AC34221E5242FA632AC7D17463004268C90BFF8D1EF2C8B92
+C906A7250704271DB704C5DE06BC3131B5F2BE7C8B328876A6BC8DDD19F67082
+31A6E815110DEEC8BBB19BF3D842060CECCDD11AC91B0F84952A681D5ADEC951
+1C14E41A06FF583B78798A572EE5890AC06087C7308074735D3EE2C0DD79FA28
+FB8E5C304EAE94300E25472B7843C0C6437649C67AEB9DD2EDC6E8822B8F54C5
+E4824B5DBE49332A89C5BF5C93A63549177C1243FA356F457E20890BCA208417
+1DA914890C79C5720508AAB6B594779511BD9AEAF42BBD35587CF5CBEF41A2F8
+5DB619AEA1744AFC20ADFC173B866497A741A31CC1C39F0C54F40A40A72ABF81
+9DB17654C62B247EC4AF2C74D8F308DD379AD245251295C7175929A360FC4B14
+BEEA12CEE1BEFA574643EAEED50C843AE02AC2904B2865EEB8584D0765C9EC68
+55B02996951318082F524811C155DB9E8F2A487794284C71D4F943D4885785B7
+FEEB0927FCD3BFBA8CF07D600A155167CF9ADC33DA627C5053076928F9867BDE
+894E0F80A77139C454C6B8E126DD5CF9DACDD74D7BE7E8474A494B89E777F4FA
+4CB8003758487E658424CFEB7A1DC6C86D8351773252E47763D577E093562318
+85C526CF4027B7F56E7B83CA8B33865EE193CF219F339C39CF69081E1EB8FE48
+F3E078103BD8799B5194D2E644DD229D64F9991BED5F85FDB74458E1B1E555C1
+E639CD733462DC6CDFB7D0D603854BBD8DEB2BA9C089659851C9AEB07285011E
+E3EEA1DE92F9B70DBDB8E20C47C783290FB672D5C0AE4D8B26E0897E8FFDDE84
+AE4B1CB33737B529EB8CB84A517D7E9B6D590C88CB333DB5A8DDF6DD5A00414B
+0D78AE05F70625268EF783C91E3ECC79B162E2878E33103AFCA471F42DF35B6E
+00FF7651B42E6AF6233E559FB41AF98BAC08F4B43CB4E82D8DD748E1BC4631EA
+84DA0792D283F6E1474730854C4A96FACE3511220ACAEA5B6366C3D7E00F1A36
+2308876125565247E987393090BBB09F9953B84177FD0E3C41380AC786C175EC
+B85329026181B3B3FB2D39B1C70A4D5566FCB66959B0CF52943478EEDB1D9FA6
+7B889056DD95FA941C67FAB990C84427126322C3494C1C4E2C711FACA0A9474D
+A45A18336452D2CBDE361AC44DC9F6AD1B860C3B76395673DFF4C810118C5094
+DD8576142A4BAFB3C238C1D56BC8FCA9DFED667A667B19D40F954275FD574AE3
+7DB7AC6AD7ADEC4AE833C10CB4A75CA1C40C2AB3CB0399EF500C78B87155FCAC
+6C8ECB3EDB244B56D9E59FB5785A93F8AF1D2E35DD32D15D1184FDD3B0A407D1
+2D8374454D93EE90B32042B72FE0EE1725FCF4A0ACF86FD51B785B8665E3E1DE
+16C9ECBD7CD9B05CD2F47FC4AAB65933B6A84B327FAFCCF9F73BE0D49B719EDD
+71ED1A7C6C01560B2A5E7FEB37FF43CE5E8B531B39F94CE9851854A6461E7D41
+79C7093D221BB051500A87C7C30CC8C9AF9E4F139EACEEA862171B200D4D380D
+86D9591B0DB68C32B5E491347D4D5BD399BA689B0E5C188546830C88EEFD4163
+BC0D0024EC5B9449D7F42AF878E3C593D7B3A8E9A6A01DE78FE2DDE703A6D3B3
+7A29BD7C5930F4118ABE5A4A6E1A33D50D279A9799DBB9D13FBA9B1938FCC9A6
+CA4373A901935D269EF5525FE1649F62CF91D8D5BBCE530FB2FB071ACB018120
+B0E5EE0B5890BAFDF5B774F18179D80F0651B1F79D7956FD9FB293F00E60A418
+26BCAEFE89EB57CC21046D8570CE282EB06B5A3BA9BFBA86B22803E75CD41FFA
+D964F9B2231310536137271A6685E0F029C058F41ADABB04DE24CD08DF8598E2
+15DFC548BAAC67797FCB1532BF6BA56E8A64EBA0844205587E4288594A431F6B
+9FD6D40CF34201F59BBF6A455BDB4940A75CD1A898B7E155399C51B7041FE6BB
+41F7242E216F0D32CFAC0B9BB39C89B99C999AD294A5EC31B8E2A6F0CC9AA6DA
+CF7EB4EF14921AD7C025E0887327361792FA893AD17812590EAF564BB925D53C
+7D10038EC0C95D21C8DD6B4A5CF17D0C4D36293A7A43F05542660A32224AFC51
+19101D5F0744E25210138B6BEB42AE8A4E57A02628D507D575426EE57941F0DA
+FC9A033C9E278FFCE8EC8C99DF1FC596317AB44027ACDAE32E30243FAAEE3F45
+739A7A3DC51A4C239155C262E6415DA8CB0B901418C5D18B1E6745889B2C944C
+FB1B45B9A38EC4621C16651DF1384B5C79A6E5BE97FD49793A124E1A9BE705C2
+3B21FA995E88BF51F01BEA8FCF484C4C1F82DA0E4BF76DE8574FB499FC866335
+F9AB6DE5B44FB7D54B443D5F6266A8D0EED967B407431C7E541927D7E9264993
+D710CEA9181FEF62ADCD75CC8FB1EA1DF0B37D26C3CDC38829EBA158E3B7686F
+F6D01C74A15ADD18875BA454AABE18C4F123C649D756C3E4C844FD27D850D9EB
+74016797F8846B2C46FDF42BACC5B8FA0C7C8062E731E82F97BB2BECECE7CE54
+539FDBB0A0630AD4B7B4A8D7A9223E5F329F00AC6F64BD0D9767BE283EC7D06A
+F14C0A1ACFD873A0A704F27FC9EEAEC89700A7FEE71C92A7600A4EF8A32EB663
+CA516357B6F2FFB56921A2A8ABA553027BAA362E4021A8F291667405AB5795FD
+D4120EAE4021A08296CDAC04E036C93B283A33E28AC462AD110ADA58C42A3354
+3F7A8D96A7E9E9BD4CF4C03DB691CAA9A70AB458CB4B3DAE653B8A01F841D46E
+4F982E75DE320C18115ACCBC7C9DB8D5BB9A7ACBFEAAFA09429AD8AB8C541E4C
+65F0658200AB28E3D7C6F8168BC38B2E34FF4F64A459E131B8F741AFA9FC5E3D
+FE755B3104FF2D425F6372FDD39E9398960EECBBC8A645EF15BB0A636A61862D
+66FD2783A9944264A92A192BF0D8E509632B0EC09B984699A515424FD2F869BA
+66D4AD13CE5F08EE0FBAFCB9D9465720EB1B247B5721CCA0022F933ED47CE399
+F65771E67097F3593FD7CA97687BC97EE9FFDD7D6CCC747B2E821529C7BF6352
+774A23F95D4EC54E9389DC2CBF4BDC85C554D6DE1F74DAD6181DBB2CC65FD510
+2AB2A38F2BDAF071048D23CD79A93D2749A94344933081F69047BEE2261AF0CA
+FB8696660187128104C2998F4B3FFE1BE8C5593E37F5A87778B6FC8B6B446899
+C5502550EBF24F64FD74074924F05253726ADC9FEBFC4A4F8C381C83AECB6BD6
+268B0CB83EA6A9A3C1DA8C31FFF5C72DF482C258FB2A3DEE0DA524AD54EF659A
+C964375BF103192B0FD2EFAAFAA169D1F9737FCF5482A7998C1B651455FE9636
+B22708082A17A4E06D2C3D84169BDFFF933DCBC96A11596B09B392D698222C94
+F0B528223A8CC33C5BEC2425BD45F6DE2FE3A5353864BF6804A01C44E0AD0E1F
+5F1E9BA340C4BDE321465B76AC60BBDF1E961967B4EE071801E2A386BF279A12
+3A465224D60CDC24F67733DB47110CEDFD400EDEAACD8A4163D28733EADE8D9C
+48ACD94090316331EEFD2BED8563554C02B6ECF0A52EC0B65556CA1EC1B15329
+D350040FBA595718ED1464ADD4B5A9C320F21D7473847B2F7AEE4498E39C1E73
+27932D180DCB56FCABD24717AAB35749FD5F07E5CC296023A86A8BEB46EF2D2F
+19EFE6EDB17009462093208AF093E4C2DA46E16C41074ABC4EE5678223FF6297
+F148CDD9DFEC3DEB1EB063604AE80781638CFE2224B335FB540ECEA401CDBCF3
+B250EC702D300D96657A8DA22493EAC7F8A9A6408F9E700D98EA9D1D7D3D42DC
+B23D2CFCD9E101A89350D80EB4608B2E099FB23CA39A8210A853D385957F8D05
+6BBA304AFBBDDA43364C04CE5848C711A2002E606F69666952CC4068E97D5A87
+D23CDEBCFD4BFD3577C7AEC0505B49AD21B8E2CD9E2080D5A992D5C87D757A7B
+865178F5DCBEE0096D2F9119DBB1EB1287242B012B6223572331075958178C6E
+3B8013B5D3350B6741EBD810A1B867D6AD170D1502201C0F3C0C7D5DA301A9DE
+05397D29A5379EEED6DB573355A10191FAE8358D8CE09E217038A4CA533BB0EC
+DFF52818FAAFEDFBB33D2CEFF44A732DAC04C5183C0139DA21C3618533672437
+3677CFA0EE4C7171E050E407CC69FCB2B2D934DEC95D70DF517483A528A1E34E
+074249A075B0ACAE052A581CFC48BBBA80D7985744A977E52B47CB299EFC7996
+A20CA05615A85C93DBCBCF7F2B9428BE59D966613EEC5D660BEB94352E47D2F6
+2BCB9427F4B5F775176E5F1266F0300464D20BFDC9E071F85E0A03406CD25193
+4693019D84D659346BF4C4D624AADFC34C007DBDA98EBE16C1CC63657DF9D2C9
+EF74DF2B64CE5FCEB62C76C0525528BD5FE677D122C8704A6E9DE538C3601D7F
+1FB1A8CB6DDCFEF3E22E0D7B39D4F8AEA156311D42126FEC23AFE75AE5A27DED
+55EB5A622230B01E18B28AE2BFEA118868779CB0B3166A4B025DC051489E986C
+67D50EDDA70CD85A2C9B9D522C4FE45016085DB55FF14C67431CD632744ABBE8
+89E86234731F3933DA4A794CADEF64671DA2E60BF836341BE8D837A3BD3D0C9D
+0FE9267C9021D63EC91E59650D38A53BE66325FB7A27FDF0AC2FAED33B07EF8A
+EE49510DB2ABBCA39686736E3508A35762DB71A41D5D791E883B264E3425F66E
+F39E9C75D54B7589C24B24A13A54CF27572E536BE8D9FC07E31198EBB8C40E8F
+371DB6A19B4F49FA8FB2D3B68F5C94B5D9CFB98EEA9CCCCDCBE1DA345BEAD270
+D7254B1242B43B4453CE45C803D018EC47790FDC817817755EC25C5293E645CC
+71E6D329F872C9F940EF383841DC91EFB4C7807273D03251D677CDFCB274982A
+6EF013887947061940BAB0D91AABE3E4EE41E9E14776F0271DE6C31545FC89A7
+F253CF423CB9BC34462A52CA3F8B023C89B42A4073A92DF8CEF34F9A8F6E2B54
+08EAF3288A486958433FCCF841CF5C0B4ADBE1FE63EE3028F43EDCCC8CB62B5B
+2AAC62F29DEB798689E9B2D7635469891EF0E306CF1C2AACF3BC8FE7B1809E30
+9CCF8EAEDB8E1B4228F97EB70523415681D33A3FB22B1B422F1BA396865EDF73
+B4B2D68B4E1FBF9FD406739907E82FD3E759C68794ACA231F460EDC89AF45833
+2036154F4A70DD7F4AC66B8BC376252D0809CC0444E8CF75349B8ECC47C0C403
+5A12C53990293AE5BB94D4374ABB464FAE2855D3C2C774D20413B1F06E6289C7
+47D760B6EFE3D1667C3C3AC5665E6D5972F6589581327B715FA895A020B8CA3B
+72A85E8A31EDA944B8CEB2F2E5352859967C0BEE0732F88A0D9F935F3922D578
+5665775BAC106C8218AF914720B22790DF6D9D6DEA8A7C1157C1C2FA40185BD6
+C10C847B8EA7B640370DDBAB7CE9A114C8F9D7724793C95AC8E9879491CF9F41
+EFFC7A48A7898DAAC74CD53A80B176729AEF2829A6332C4C2BE76C6BCC67A2FF
+46581FBAE11AA25482448ED06DEFBD6B6C515BD85348FA0B077207DC668F21E3
+6563E85FC7B4916EF8541FA879376151BDD92AA8E3C50D11565E460424B96F37
+3ED4AA3535D3F6433D4DDFB4462994706C15B549F3F85D5AD7E4A63582A7E628
+62A597EBB753F5EA288CFE97FE79B873A276ACD0A8E538D9F72C15558741E738
+7380278E2A6B2AB18FCF8F0C6768149D2DFABEF6B6351D3878F556EDD3AB85A1
+DD85423D31BBF32177926E046B36495AE452FEC76AB28FCA27BD34A065C5C64C
+2066AAA6311B4B43D0C7724B32A9FBAF9EEACFB012B8612D8C626B5F3F961ABA
+E91089385BFE4C592A163BFFC76496B69B31E0B6BFD843FD336EFBB41CB266C8
+F360A7A33DB5B5AE7F8A228E14F4902CA8D09FBB5022774D0A35CCAF79BC0AA2
+9BAC0F46B15C854D0C79066A8083067BB608445E6E2D648855AD0D45F08AD44E
+A0D5CC72280C3D06482DFEF1ABBDF9DA487E93A40743A50B811803ECE3EA452C
+88591280848C11BFFBF51764B7FB847FB36BE3A23CEF628351C335ECA81A015D
+CE3B729B7BA965781D771BC12D9602474956B21477F6B22F2292FBA979B84A27
+1CDC7F53BDF0216F97BD6A9FCBC3D4A763AC8586B2C4312FD310D7751B0AEA7B
+2221120DCC312E348CD9520A2CE2BB883BF7E80B059245B6C25DD49052FA3E88
+054624AD0DEDA14813BF776F80B32F78274A5E2F6A440D815C1287F891420FEE
+3831B4AA2D699BD0A2B5765163CF80A0E027B979BABF93E7F370E67B5C283AF2
+974689A53F17841CE09038B634443C16C145BCCBF19A48CC0C346B601915557B
+679759AB2F56EE42F25AFCE76B6E16DF4AFAC672EC8898CD9073F32ADF9BA334
+0C87286238BC574304B17DBF9170A15DFC4C373AABAE63CC1DE63B481CB76FC0
+F46A0DC31A2ACCF4113081631051EAFC5057CC07AEC21F51F29B83CB0F123A34
+0A3188B619937B3E206AA9C7F8F7A557BF2F51CD4C8C9382A1C6F8A1596D715C
+9EE11DF9C7D0793B05664D77C9A04C6294C136BAE9BF6426788805CC311AA0FC
+5C6C2447A6C3F9109218A5A98498247F61FE81E2DD8AAFFDDEE9C7EC5357B59A
+EF694F0277B6840FBDE514E84D5451E333F92621A5539D896D39D44F73FBF78A
+77DF4C8BDA5F7DB4E747D93E7DC1E8452F5F78B7FCD26EAD40C408073DF10AC1
+5496C78B017702D03BDA4BAEC7B7284A3AEF74DE72ADC3F5ED97AFA80B28225C
+CF6311B440EFDB604E95286AB63B1C828984D7F7D03C1A1086BE2719584C86D0
+DBAD22B46FE371471A3AAB44D513AE2BDC76C333DC7BEF785F0157C068DD6997
+283F189980EFA7727C242EAB13B6AC655CA32F90FF505C27F4F74A2F94058682
+44F949584AC6EFF8B1551D3FC647B7B086354D04298C47C707919C17B839DF0E
+3A4D2C2C73647F31C375ED6518271D6B7DAB7F4A8EF22A2FDD4CD344F9A41E59
+FECA8BB09E9C3A29AF3C4E13551828B9DCE84EAAE638E979B380B406898D5B03
+DB9962F3FC5CC6A18D84300F7807058D6D307C7A56F6A7DACD2A33824D9C38E0
+0A95B24BFB3FE344FB86ED44210AF8AAB3BCE7DB26A5418A1DF5B45EBD46ECDE
+6AF2A57396B1FD938A49F4C11FC0D9214F7E0031567BA036ADE596D3B00E9990
+B2137F1EA184A81351A8CC6260D352B7488186845A53138879932E356D8249B8
+38CA26839814CD2594265C93D0C0A4A9D6208106183961A42B2D0D3BC2191F2C
+F5CA3F44ACDA6288528261E4C8E1FF234FD4F8CDF4BF12828365D0A1F7CB04E7
+F14D0F7B013C03DCA76807C264AF416C5028C58C3F17FAB9492C0EF2797EBE9D
+A8770E51AE10DAB965D1F342FF37B0D0EFFCF756E7F80B74DE6E66DE385C97D6
+7A4A53831701BBC12432B1542F44F02B5D7067A30910CB677033F65028593A8F
+E01E3FA0205C3B435750ED264865E18E682252898EAD86AF458E1F4781A9B213
+2AA676F501EF5449792F4F883A6206A77A3EEB61833DE71A1AF0421F2D5B3350
+4AA6226C1D633043582F723D9C428767B74788851F77F4628C4F3FAC26964DD3
+5B5D51E43DA54B5D627F325A80F764C8416CDF73432DE43EBE4BD69C2AB42FB0
+86BACB2CDA459D172CF463A1449C2D9B1A63B90FDE57725B0E22A9E022C6DE0A
+5B19C0EBA17409ECEC31804E70577BCD9B569D9ABA6421E2D13E4F5B5FE27266
+AAA6654EC8489E65AEB24F35F69C8AFE5060F7B491E01DE8B6C8A52C0BAE78AB
+2D5F8950E409301B6D257CA98B71C7C188F5E5E98A6B34B9768FF2AA31E56A0C
+FBEB81F7DF27A62167A454AC1A514B8AF2B2AB6D5720F81CEB357FE489C0FC66
+299E461F17D60CBD186C1D27BAD16A74FE2265B1ED8B9C51F6A531CCC926B3DB
+7A13EFFD598348AFA05ED4A64794497199B71484E834BEFCDB6ED36BFF9AAA61
+C194664DB40A9BB1BEE3B19E43A7BE4B5DEFFD705F9B8593B957C6961AC5F604
+31E5D9196281AAD59AB09B25095B03BFB85BFE0A93F880C08009D0A551C4932F
+8A0ECDE5B6DB8783D37EFC0DECD52B5F935C36AC72503F58A5FA1B1526294383
+05F238C8497EBF529090A791E3204F53E286F5F9C06BF26F8FD2CD36D695AA20
+628F3710F7F36C792CAD18D2C4085139090A07BAC0CD9F1B7981DD189D1BA8DE
+236F3202263F701516D93EF00607DED7C702B5873F6E66B228ECDCDAAA60873E
+2180ED386859D7562D5DA85AC518F84D274EC5E017746A7A2B0B0545F77C5C6F
+79B312445F9ED00C7A0F8EE9D8AF89231D58B1F1016EC1156E0D3AB95CB5E049
+2E3D9ADEF25801717EF38AED86E0BF9577F678E72B7CE5DED31EBC8105298317
+6EBBCE6F4F58E2358FE08BD984C6EE26908966CE574D70FFF1153714570504B4
+71A412091BA1E775512472DDE12576C806CB1AF8C814DD0DB32CC54AA1BF02FC
+972AA0ECCDAD533024C599D62F8A159BA3929E3268E3886C4716998779A61641
+A5F68A5FE8F75B4A72798BB948B182380EAB7CDB03DE5B12D087FC7A7A2ED170
+ABB9D4BCB7232DB1B720A165DC20381A3CF6FD085D0863E197CC3BB2658C725F
+1ED74077E5BEE7F8AA00478D8578EF01A44582A9A7EB7599A774DA4220AB2609
+C3128626070C824EEA4FDDA375F0FF1E7AAC89B19670AF83AD9BEE4156F79460
+0B69785EB1569ACDCBBDFCB5E30FB02B8BC0D0EA814E6BDD953A8F4F8C7DBC43
+A232F24A51F41396122410C0411F7EF1BC7B77DC7B0CDB117CC26F72E2E25D94
+143F9104926FEAD31ADECD6CE5CAA317BECC8DD3EDBBD3B9D4F9F43118F88641
+6717C3EAC04A66425130D25F110FDA0C721EFE38C398A2CB5C5B02E27C0644E0
+0920F5D08675326387464E3D6D81C9E13B21089071C692C43AD2DD784BC64F3F
+703093CFC8E8ED88D8094359B29BFAD08716823D15E1C8277E57AA3765BE55E9
+08BE5428C95E277B065A5BA07491AAAE33651943F00516F2D16BBD8992A263F1
+DB6ABD5B7E428F950D021F270C93CFDC202B8C9CA9ABCC694662DA1562F9962F
+EB020DC635BE52930A964EE8C0B2533561E31C721BBE3B86583B9F8511696E7A
+F0482415094D1764AE1D959E8C8E6A1B6847D0D3608862E62B5D2EF0D041BAB0
+2688D5A1875A1818842255FA8ADA8F9FC4A5A98A2D136220E10B74FD25E86286
+2BE170A70539291BFA5D1D25B6D030DDEAF4E69BF18E5D860C70BCFB97EB9DFD
+F3DFBCA37C261864336B2556CC2DD6A01CF76CCAD22AF6B7289571E8A7F0DCF6
+E6EDDEC45C60CEA75B61C8ABD0BA00AC4BACD931B10A1A8CC1A7D1BBB4AC7695
+412A0B36704905685BE37AEBE73A48D4A773418A0A4AF657117A89756BE5371C
+90AEFFFF97F170D0930A06A8075437F8F22A1F63DF508B60EBBCA1C60C46873A
+CA3948A137764533E8A6915EA8E885E279A8E4FC8132548595C05D641BB780AA
+31C0D044F53467938D42846BD96E896587F677A8EC0EB7B54CBABEC20DBA3E72
+6F12BADE1AF5410842D62CB6D3100B847911CAE5241F044C322B0F9D9A25F860
+EE91242343120CA1D2A6944DFDDE5C7930A4775E606F2087476166FA24EF8AA8
+5E2369010C21DB60EBA50B574DB8DA065B6F9D08F80BB41FAB28E93D37167254
+6F6B40F543B92716125B3E9E0E94078F0C4588E6C5CC1A6BB0E8EF25CC4C8DE5
+3082A4481BDE9E151202541FFE4AC30C9B9D5207184352087CC2135CE374FF83
+8B954340696B600180ED3BD21712C0C55B204FE21231510B21987466BAC00E6C
+87657156E7709E9FE4320BB4E41419344E839D9F9F76EBC2D786CB671C474AFE
+E46EEE3494F39052DC98D8D0A69EA38B604B505A0EA22E2BD8FE089015CFCA53
+38FA703377F03B23B27DB6B926B9803EDC04C93540B8AA252B975FB4B6F8F1ED
+CC6346D2671007240E21991D63744944F65EE7546F73C2132406299D1967AE87
+6ABF8586C9F3744BEB8FC806F15E781A247F252BF22820FD7E09FC25131646D5
+2AFC76CF47FC817CC52901C6981159CAF2F63658D1E9312AD4D58BC6372F06B3
+EA603EBF693FE6AAD9EDE1A6AB2AD554B709984F515CFDB25689BC2403E89D7A
+CD5A81CDE041F2F47B90633BF7C3F5EA031132628779B6C8D86F244994154052
+98423DE90A4388BAA6F2A800B28BF4D00756F8FACF9DC7AEC891615D88D58B67
+B96D8CB3BA811225F3CA3EF1818A3058AEC289C6EA906F12106409E5E096ED98
+9468A12BC553C31627BDD5E660B1D9923FDB76AC1D5AF56EEC2CB7F8A531F57E
+D0A5AB6BA84CE928F6A7848E9586DDEA64A963EA09BCFDE942C5CDFC76CA41E3
+0C600EA7886E19F5D0811585CD395C987FED4C0AAB538B3665BED07770876215
+894ED782FD7903B3DAC60A9A6F0AAFBD4DED6EB1EBD7113B27628422A94403D7
+4F3079C19F485C96AFC50097FE1C6C454F0A7F114739CA3903E2A45CDE5060C1
+99044C5B62FE5ED390CC9E15391D22CF2AED28079DD8F8844F88783497302CDC
+E24E48AF58160ADE00999E3F66DF6130C503EC41D7369E4F65C7387049C9123C
+93FB78BC6F2256A5DA5BB65C4FE6D438F51B4BA43453349F07DA0C513A1FAE8F
+39EF3DA260F8DE207A52F112EEA148F4EFB98062B48C2D8ED49CB00EB5249909
+FE7E9DFD8150237641710E870CD559236E0ADC2162D2D4E1308BA44F24CB9B34
+186EB6DEF2E39E6D96887050F09EB16829523178A561BBEB50B18F582CAAFA84
+3294797679581F1D69E06BA9F164BAE02291810C26F8D7C5710D648B598BB03E
+E6E4FA8CFDC7FB65881438B98B97D024E72DAFC2079772F5D59BFB83FCC3FEC8
+044BB1063DB6B59CC1423098F167842BE6F5E4E0970BD986DD636A7DE3D9ECC1
+6E96285723D731B241746877A51238C03281F49E482FC5B8C50BB3BADFBA1111
+6C0DC8E3DEDEA1FFFFEB1C4739F9F2C982F827B058F44238E9FE1878BDC82A42
+0C38256A3F74592D1B4EB26181231E0CAB844CE107F16F25777F52265B8DA862
+B06CF2E8DC7966C26241410B96DEAA432DD771982DD094E824DDC3CFA366D5CF
+05190D87ECD0F359E63B2F602433FFCA0C440B56C4E064AB8F1B52BE7D138BD4
+B042ED2123654394BCAE2B253CC44383F980D0EDC730C93D76161C973A4255C8
+176A13F77D90C6A6536BACFE0C62602F8A753600A466795CEC643B9043D3354A
+BB5B6F87A074A31B8AAF714E80C14770841C228EBABE5CED1B04EAF5960CFEDE
+C6DE66312810E8F0BD5F97602EA9CFE542F33A27095894176BAD9AD57B405AE5
+69C949D220B5BB2AC6962082B8113F51FF020083713879FFB5C8AF749514F593
+CB17E86E6BB7994E8807BD8ACECB39AA96EA7287E155017AD3C4CBB46E0D9756
+5F8A8E1A8AD8029D5D833FFB6BE25C7FE567F49C29E6CD647343428CE70A90B5
+398B5B076D8981AB50D5FCEDE6B3485393C1161D6C1EAE95A9D94B3911C5A18C
+7422B3611B6F3FE78409D8890DBB9D0CC39118146C7AF29D78933B8EDF44C9FF
+5D74EB40075EAEA2AA79FC4172D43AC0DC79F57AF0956573D830AA6AB36FC231
+FF0024B42A06E2C550C78B3AEF3CC6BF5A5646AF419E68CFA2BFE68A6FBE5142
+032F8B9A48C9A8A7FFACE36BF6C2D1E97572F20553885C745A5112F995B1AA0E
+55B9BB09330D389277CD4336B7230093E1CEC7F793F7287A7610B70FF514A4EB
+45D7980780122B079E41A9408B74118260875497B4599C0BB50214BF5A73004C
+0915252F46619C5A71C85F9EDC6A824E4C4354E2F97FB3C97D222B4FB1341921
+B94BEB25022D2FEBC36D81F89BCBA93FA6179EDEE80493ED3C3ED4133B37A0D1
+D8441FD94874424957AF44F9E0E2794A3C9CBDAD93F91195061D82923E9AC21A
+A4ADBE617D875F5B6730F68AEF8CEA611A6BB710059B7439F684C51CAF79790F
+822E4AC3F6BC1F778C4FC77065CD47D942
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+TeXDict begin 39158274 55380987 1000 600 600 (main.dvi)
 @start /Fa 138[51 6[51 6[53 103[{ TeX0ef0afcaEncoding ReEncodeFont }3
 83.022 /CMCSC10 rf /Fb 152[42 42 76[65 25[{
  TeXbbad153fEncoding ReEncodeFont }3 83.022 /CMSY10 rf
@@ -5462,68 +5487,65 @@
 2[46 72[{ TeXaae443f0Encoding ReEncodeFont }8 41.511
 /CMMI5 rf /Fj 148[35 1[23 29[56 2[54 72[{
  TeXaae443f0Encoding ReEncodeFont }4 58.1154 /CMMI7 rf
-/Fk 140[40 3[49 2[25 44 7[44 23[74 1[39 4[73 1[68 66[{
- TeX74afc74cEncoding ReEncodeFont }9 83.022 /CMBXTI10
-rf /Fl 134[32 2[31 37 24 29 29 28 2[38 54 20 33 25 22
-3[29 32 1[27 34 16[39 4[51 2[50 2[45 69[{
- TeXaae443f0Encoding ReEncodeFont }21 49.8132 /CMMI6
-rf /Fm 146[42 42 6[42 11[42 7[42 24[32 56[{}6 83.022
-/XYDASH10 rf /Fn 193[48 62[{ TeXbbad153fEncoding ReEncodeFont }1
-49.8132 /CMSY6 rf /Fo 133[0 3[0 3[0 59[0 2[0 3[0 2[0
-3[0 3[0 7[0 12[0 15[{}11 83.022 /XYBTIP10 rf /Fp 133[0
-3[0 3[0 59[0 6[0 2[0 0 2[0 3[0 7[0 12[0 15[{}11 83.022
-/XYATIP10 rf /Fq 133[36 38 3[44 28 36 35 1[39 37 46 1[23
-40 1[26 1[37 1[36 40 33 33 41 13[47 1[61 49 4[65 42 34
-64 2[57 63 55 58 58 5[21 21 58[{ TeXaae443f0Encoding ReEncodeFont }32
-74.7198 /CMMI9 rf /Fr 131[78 39 1[37 35 51 35 41 25 31
-32 1[39 39 43 63 20 35 1[24 39 35 24 35 39 35 35 39 7[57
-57 77 1[57 55 43 56 1[52 59 57 69 48 59 40 30 57 59 50
-52 58 55 54 57 6[24 39 39 39 39 39 2[39 39 39 1[24 27
-24 2[31 31 24 26[43 12[{ TeX74afc74cEncoding ReEncodeFont }64
-74.7198 /CMTI9 rf /Fs 134[50 1[69 50 53 37 38 39 1[53
-48 53 80 27 50 29 27 53 48 29 44 53 42 53 46 12[66 53
-2[65 72 75 91 1[75 2[75 75 60 63 73 2[72 9[48 48 48 48
-48 48 48 2[27 32 30[80 1[53 12[{ TeXf7b6d320Encoding ReEncodeFont }47
-83.022 /CMBX10 rf /Ft 133[39 3[40 48 1[39 37 2[40 50
-1[25 43 1[29 3[39 1[36 36 9[69 5[63 66 53 63 3[71 1[36
-69 2[61 69 59 63 6[23 23 58[{ TeXaae443f0Encoding ReEncodeFont }27
-83.022 /CMMI10 rf /Fu 133[34 40 1[55 38 45 28 34 35 38
-42 42 47 68 21 38 1[25 42 38 25 38 42 38 38 42 13[47
-61 6[64 1[32 4[63 1[58 20[30 32[47 12[{
- TeX74afc74cEncoding ReEncodeFont }32 83.022 /CMTI10
-rf /Fv 135[59 2[62 44 44 46 2[56 62 1[31 59 1[31 1[56
-34 51 62 50 1[54 9[116 3[62 84 8[42 3[74 86 81 12[56
-56 56 56 56 56 49[{ TeXf7b6d320Encoding ReEncodeFont }29
-99.6264 /CMBX12 rf /Fw 139[34 35 36 14[39 49 43 31[67
-6[25 11[25 46[{ TeXf7b6d320Encoding ReEncodeFont }9 74.7198
-/CMBX9 rf /Fx 133[39 2[39 39 39 39 39 39 1[39 39 39 39
-39 39 39 39 39 39 39 39 39 39 1[39 11[39 39 39 39 1[39
-39 39 1[39 39 3[39 39 2[39 1[39 39 5[39 10[39 39 39 45[{
- TeX09fbbfacEncoding ReEncodeFont }40 74.7198 /CMTT9
-rf /Fy 132[38 34 41 41 55 41 43 30 30 30 41 43 38 43
+/Fk 150[25 1[44 32[56 16[44 44 44 44 44 2[25 46[{
+ TeXf7b6d320Encoding ReEncodeFont }9 74.7198 /CMBX9 rf
+/Fl 134[32 2[31 37 24 29 29 28 2[38 54 20 33 25 22 3[29
+32 1[27 34 16[39 4[51 2[50 2[45 69[{ TeXaae443f0Encoding ReEncodeFont }
+21 49.8132 /CMMI6 rf /Fm 146[42 42 1[42 4[42 11[42 4[42
+2[42 24[32 56[{}8 83.022 /XYDASH10 rf /Fn 193[48 13[18
+48[{ TeXbbad153fEncoding ReEncodeFont }2 49.8132 /CMSY6
+rf /Fo 133[0 3[0 1[0 1[0 1[0 0 31[0 24[0 2[0 1[0 1[0
+2[0 2[0 0 3[0 7[0 12[0 15[{}17 83.022 /XYBTIP10 rf /Fp
+133[0 3[0 1[0 1[0 1[0 0 31[0 24[0 4[0 1[0 2[0 0 1[0 0
+3[0 7[0 12[0 15[{}17 83.022 /XYATIP10 rf /Fq 133[36 38
+2[37 44 28 36 35 1[39 37 46 68 23 40 1[26 1[37 37 36
+40 33 33 41 13[47 1[61 49 4[65 42 34 64 2[57 63 55 58
+58 5[21 21 58[{ TeXaae443f0Encoding ReEncodeFont }35
+74.7198 /CMMI9 rf /Fr 133[39 3[40 48 1[39 37 3[50 2[43
+1[29 3[39 2[36 9[69 5[63 66 53 63 3[71 2[69 2[61 1[59
+63 6[23 23 58[{ TeXaae443f0Encoding ReEncodeFont }22
+83.022 /CMMI10 rf /Fs 133[34 40 1[55 38 45 28 34 35 38
+42 42 47 68 21 38 25 25 42 38 25 38 42 38 38 42 12[59
+47 61 1[56 64 62 74 1[64 1[32 62 64 54 56 63 1[58 62
+9[42 42 42 42 42 42 42 2[25 30 30[73 1[47 12[{
+ TeX74afc74cEncoding ReEncodeFont }52 83.022 /CMTI10
+rf /Ft 131[78 39 1[37 35 51 35 41 25 31 32 35 39 39 43
+63 20 35 1[24 39 35 24 35 39 35 35 39 7[57 57 77 1[57
+55 43 56 1[52 59 57 69 48 59 40 30 57 59 50 52 58 55
+54 57 6[24 39 39 39 39 39 2[39 39 39 1[24 27 24 2[31
+31 24 26[43 47 11[{ TeX74afc74cEncoding ReEncodeFont }66
+74.7198 /CMTI9 rf /Fu 133[39 3[39 39 39 39 39 1[39 39
+39 39 39 39 39 39 39 39 39 39 39 39 39 39 12[39 39 39
+1[39 39 2[39 39 4[39 2[39 1[39 39 5[39 10[39 39 39 45[{
+ TeX09fbbfacEncoding ReEncodeFont }37 74.7198 /CMTT9
+rf /Fv 132[38 34 41 41 55 41 43 30 30 30 41 43 38 43
 64 21 41 23 21 43 38 23 34 43 34 43 38 3[21 38 21 1[58
 58 79 58 58 55 43 57 60 52 60 58 70 48 60 39 28 58 60
 50 52 59 55 54 58 3[60 2[21 38 38 38 38 38 38 38 38 38
 38 38 21 26 21 2[30 30 21 4[38 15[38 2[64 64 1[43 45
 11[{ TeXf7b6d320Encoding ReEncodeFont }80 74.7198 /CMR9
-rf /Fz 163[30 39[30 30 30 30 30 6[24 24 40[{
+rf /Fw 163[30 39[30 30 30 30 30 6[24 24 40[{
  TeXf7b6d320Encoding ReEncodeFont }8 49.8132 /CMR6 rf
-/FA 202[33 33 33 33 33 33 6[26 26 40[{
+/Fx 202[33 33 33 33 33 33 6[26 26 40[{
  TeXf7b6d320Encoding ReEncodeFont }8 58.1154 /CMR7 rf
-/FB 132[42 37 44 44 60 44 46 32 33 33 44 46 42 46 69
-23 44 25 23 46 42 25 37 46 37 46 42 3[23 42 23 1[62 62
-85 62 62 60 46 61 65 57 65 62 76 52 65 43 30 62 65 54
-57 63 60 59 62 1[39 1[65 1[23 23 42 42 42 42 42 42 42
-42 42 42 1[23 28 23 2[32 32 23 1[69 2[42 23 18[69 46
-46 48 11[{ TeXf7b6d320Encoding ReEncodeFont }82 83.022
-/CMR10 rf /FC 139[52 53 55 1[75 67 75 4[37 75 67 41 61
-75 60 1[65 13[75 100 12[88 1[97 1[102 19[45 45[{
- TeXf7b6d320Encoding ReEncodeFont }20 119.552 /CMBX12
-rf end
+/Fy 139[52 53 55 1[75 67 75 4[37 75 67 41 61 75 60 1[65
+13[75 100 12[88 1[97 1[102 19[45 45[{ TeXf7b6d320Encoding ReEncodeFont }
+20 119.552 /CMBX12 rf /Fz 132[42 37 44 44 60 44 46 32
+33 33 44 46 42 46 69 23 44 25 23 46 42 25 37 46 37 46
+42 3[23 42 23 1[62 62 85 62 62 60 46 61 65 57 65 62 76
+52 65 1[30 62 65 54 57 63 60 59 62 1[39 1[65 1[23 23
+42 42 42 42 42 42 42 42 42 42 1[23 28 23 2[32 32 23 1[69
+2[42 23 18[69 46 46 48 11[{ TeXf7b6d320Encoding ReEncodeFont }81
+83.022 /CMR10 rf /FA 133[42 50 50 69 50 53 37 38 39 1[53
+48 53 80 27 50 1[27 53 48 29 44 53 42 53 46 9[99 2[66
+53 72 3[75 1[57 75 49 36 75 75 1[63 73 69 1[72 10[48
+48 48 48 48 48 2[27 1[27 32[56 11[{ TeXf7b6d320Encoding ReEncodeFont }
+48 83.022 /CMBX10 rf end
 %%EndProlog
 %%BeginSetup
 %%Feature: *Resolution 600dpi
 TeXDict begin
+%%PaperSize: A4
  end
 %%EndSetup
 %%Page: 1 1
@@ -5539,117 +5561,109 @@
 /Producer (dvips + Distiller) /Keywords (encoding privacy censorship resistant 
sharing file peer distributed system network private information retrieval)
 /DOCINFO pdfmark end
  0 0 a Black 0
-TeXcolorgray 523 232 a
+TeXcolorgray 0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray
-523 232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray
+0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0 17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark
 end
- 523 232 a Black Black 523
-365 a
-SDict begin [ /Count -0 /Dest (chapter.1) cvn /Title (An Encoding for 
Censorship-Resistant Sharing)
+ 0 17 a Black Black 0 165 a
+SDict begin [ /Count -0 /Dest (section.1) cvn /Title (Introduction)
 /OUT pdfmark end
- 523 365 a 523 365 a
-SDict begin [ /Count -0 /Dest (chapter.1) cvn /Title (Christian Grothoff, 
Krista Grothoff, Tzvetan Horozov, Jussi T. Lindgren)
+ 0 165
+a 0 165 a
+SDict begin [ /Count -0 /Dest (section.2) cvn /Title (Related Work)
 /OUT pdfmark end
- 523 365 a 523 365 a
+ 0 165 a 0 165 a
+SDict begin [ /Count -0 /Dest (section.3) cvn /Title (ECRS encoding)
+/OUT pdfmark end
+ 0 165 a 0 165 a
+SDict begin [ /Count -0 /Dest (section.4) cvn /Title (Extensions) /OUT
+pdfmark end
+ 0 165 a 0 165
+a
+SDict begin [ /Count -0 /Dest (section.5) cvn /Title (Discussion) /OUT
+pdfmark end
+ 0 165 a 0 165 a
+SDict begin [ /Count -0 /Dest (section.6) cvn /Title (Conclusion) /OUT
+pdfmark end
+ 0 165 a 0 165 a
 SDict begin [ /Page 1 /View [ /Fit ] /PageMode /FullScreen  /DOCVIEW
 pdfmark end
- 523 365
-a 523 365 a
+ 0 165 a 0 165 a
 SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark
 end
- 523 365 a 523 365 a
+ 0 165
+a 0 165 a
 SDict begin H.S end
- 523 365 a 523 365 a
+ 0 165 a 0 165 a
 SDict begin 12 H.A end
- 523
-365 a 523 365 a
+ 0 165 a 0 165 a
 SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark
 end
- 523 365 a 523 365 a
+ 0 165 a 0 -80
+2715 4 v 0 137 4 218 v 28 2 a FA(Noname)31 b(man)m(uscript)i(No.)28
+91 y Fz(\(will)28 b(b)r(e)g(inserted)g(b)n(y)f(the)h(editor\))p
+2711 137 V 0 140 2715 4 v 0 851 a Fy(An)54 b(Enco)t(ding)h(for)g
+(Censorship-Resistan)l(t)0 993 y(Sharing)0 1186 y FA(Christian)34
+b(Grotho\013)779 1156 y Fx(1)816 1186 y FA(,)f(Krista)h(Grotho\013)1528
+1156 y Fx(2)1565 1186 y FA(,)g(Tzv)m(etan)i(Horozo)m(v)2344
+1156 y Fx(3)2382 1186 y FA(,)d(Jussi)0 1286 y(T.)f(Lindgren)499
+1256 y Fx(4)0 1405 y Fw(1)73 1437 y Fv(Departmen)n(t)25
+b(of)h(Computer)g(Sciences,)h(UCLA,)e(USA)73 1528 y(e-mail:)i
+Fu(address@hidden)0 1588 y Fw(2)73 1620 y Fv(CERIAS)e(/)h(In)n
+(terdepartmen)n(tal)f(Program)i(in)e(Linguistics,)i(Purdue)e(Univ)n
+(ersit)n(y)-6 b(,)25 b(USA)73 1711 y(e-mail:)i Fu(address@hidden)0
+1771 y Fw(3)73 1802 y Fv(Motorola)h(Labs,)e(USA)73 1894
+y(e-mail:)h Fu(address@hidden)0 1953 y Fw(4)73
+1985 y Fv(Departmen)n(t)e(of)h(Computer)g(Science,)g(Univ)n(ersit)n(y)f
+(of)i(Helsinki,)f(Finland)73 2076 y(e-mail:)h Fu
+(address@hidden)0 2274 y Fv(The)f(date)g(of)g(receipt)g(and)f
+(acceptance)i(will)g(b)r(e)e(inserted)h(b)n(y)f(the)g(editor)p
+Black 0 2533 a FA(Abstract)p Black 91 w Fz(This)41 b(pap)r(er)h
+(describ)r(es)f(ECRS,)g(a)h(con)n(ten)n(t)f(enco)r(ding)g(sc)n(heme)g
+(for)0 2633 y(censorship-resistan)n(t)21 b(p)r(eer-to-p)r(eer)h(net)n
+(w)n(orking.)f(The)i(prop)r(osed)f(enco)r(ding)h(mec)n(h-)0
+2732 y(anism)g(supp)r(orts)h(b)r(oth)g(e\016cien)n(t)g(dissemination)f
+(of)h(encrypted)f(data)g(as)h(w)n(ell)f(as)g(en-)0 2832
+y(crypted)k(queries)g(o)n(v)n(er)f(this)i(data.)f(In)n(termediaries)f
+(can)h(v)n(erify)g(that)h(an)f(encrypted)0 2932 y(resp)r(onse)e(matc)n
+(hes)g(an)h(encrypted)g(query)f(without)i(b)r(eing)f(able)f(to)h
+(decrypt)g(either.)0 3031 y(F)-7 b(urthermore,)28 b(ECRS)g(allo)n(ws)f
+(users)h(to)g(share)g(\014les)g(encrypted)g(under)h(descriptiv)n(e)0
+3131 y(k)n(eys)21 b(whic)n(h)i(are)e(the)h(basis)g(for)g(querying)f
+(the)i(net)n(w)n(ork)e(for)g(con)n(ten)n(t.)h(With)h(the)g(pro-)0
+3230 y(p)r(osed)i(sc)n(heme,)g(e\013ectiv)n(e)g(load)f(balancing)h(and)
+g(sw)n(arm)f(distribution)h(are)f(p)r(ossible.)0 3330
+y(The)30 b(enco)r(ding)g(mec)n(hanism)f(handles)h(data)f(in)h(small)g
+(c)n(h)n(unks,)f(whic)n(h)h(can)g(also)e(b)r(e)0 3430
+y(e\016cien)n(tly)j(enco)r(ded)h(on)f(demand)g(from)g(the)h(plain)n
+(text.)f(The)h(prop)r(osed)e(enco)r(ding)0 3529 y(is)d(conceptually)g
+(simple)h(and)g(easy)e(to)i(implemen)n(t.)0 3729 y FA(Key)k(w)m(ords)89
+b Fz(priv)-5 b(acy)e(,)27 b(sharing,)f(v)n(eri\014cation,)h(p)r
+(eer-to-p)r(eer)0 3931 y
 SDict begin H.S end
- 523 365 a 523 365
-a
+ 0 3931 a 0 3931 a
 SDict begin 12 H.A end
- 523 365 a 523 365 a
-SDict begin [ /View [/XYZ H.V] /Dest (chapter.1) cvn H.B /DEST pdfmark
+ 0 3931 a 0
+3931 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.1) cvn H.B /DEST pdfmark
 end
- 523 365 a Black Black 586 448 a
-FC(An)45 b(Enco)t(ding)f(for)h(Censorship-Resistan)l(t)i(Sharing)566
-737 y FB(Christian)27 b(Grotho\013)1239 707 y FA(1)1276
-737 y FB(,)g(Krista)g(Grotho\013)1889 707 y FA(2)1926
-737 y FB(,)g(Tzv)n(etan)g(Horozo)n(v)2599 707 y FA(3)2634
-737 y FB(,)h(Jussi)f(T.)h(Lindgren)3326 707 y FA(4)1116
-879 y Fz(1)1189 911 y Fy(Departmen)n(t)d(of)i(Computer)f(Sciences,)g
-(UCLA,)g(USA)1532 1002 y Fx(address@hidden)606
-1062 y Fz(2)679 1094 y Fy(CERIAS)f(/)h(In)n(terdepartmen)n(tal)f
-(Program)i(in)f(Linguistics,)h(Purdue)e(Univ)n(ersit)n(y)-6
-b(,)25 b(USA)1591 1185 y Fx(address@hidden)1580
-1244 y Fz(3)1653 1276 y Fy(Motorola)j(Labs,)e(USA)1572
-1368 y Fx(address@hidden)827 1427 y Fz(4)900 1459
-y Fy(Departmen)n(t)f(of)h(Computer)g(Science,)g(Univ)n(ersit)n(y)f(of)i
-(Helsinki,)f(Finland)1513 1550 y Fx(address@hidden)1278
-1736 y(http://www.gnu.org/software/GNU)q(net/)1670 1827
-y(address@hidden)p Black 759 2154 a Fw(Abstract.)p Black
-43 w Fy(This)i(pap)r(er)g(describ)r(es)h(ECRS,)f(a)h(con)n(ten)n(t)e
-(enco)r(ding)i(sc)n(heme)f(for)759 2246 y(censorship-resistan)n(t)18
-b(p)r(eer-to-p)r(eer)f(net)n(w)n(orking.)h(The)f(prop)r(osed)h(enco)r
-(ding)f(mec)n(h-)759 2337 y(anism)36 b(supp)r(orts)e(b)r(oth)h
-(e\016cien)n(t)f(dissemination)i(of)g(encrypted)d(data)i(as)h(w)n(ell)
-759 2428 y(as)f(encrypted)e(queries)h(o)n(v)n(er)g(this)g(data.)g(In)n
-(termediaries)h(can)f(v)n(erify)g(that)g(an)759 2520
-y(encrypted)c(resp)r(onse)h(matc)n(hes)g(an)g(encrypted)f(query)f
-(without)i(b)r(eing)g(able)g(to)759 2611 y(decrypt)24
-b(either.)h(F)-6 b(urthermore,)24 b(ECRS)h(allo)n(ws)h(users)f(to)g
-(share)g(\014les)g(encrypted)759 2702 y(under)i(descriptiv)n(e)g(k)n
-(eys)g(whic)n(h)g(are)h(the)f(basis)i(for)f(querying)f(the)g(net)n(w)n
-(ork)g(for)759 2793 y(con)n(ten)n(t.)f(With)f(the)g(prop)r(osed)h(sc)n
-(heme,)g(e\013ectiv)n(e)g(load)g(balancing)g(and)g(sw)n(arm)759
-2885 y(distribution)21 b(are)h(p)r(ossible.)h(The)e(enco)r(ding)h(mec)n
-(hanism)g(handles)f(data)g(in)g(small)759 2976 y(c)n(h)n(unks,)h(whic)n
-(h)h(can)g(also)h(b)r(e)f(e\016cien)n(tly)g(enco)r(ded)g(on)g(demand)f
-(from)i(the)f(plain-)759 3067 y(text.)29 b(The)h(prop)r(osed)g(enco)r
-(ding)g(is)g(conceptually)f(simple)h(and)f(easy)h(to)g(imple-)759
-3159 y(men)n(t.)523 3319 y
-SDict begin H.S end
- 523 3319 a 523 3319 a
-SDict begin 12 H.A end
- 523
-3319 a 523 3319 a
-SDict begin [ /View [/XYZ H.V] /Dest (section.1.1) cvn H.B /DEST pdfmark
-end
- 523 3319 a 116 x Fv(1)112 b(In)m(tro)s(duction)523
-3629 y FB(In)n(ternet)40 b(censorship)f(is)i(a)f(p)r(o)n(w)n(erful)f(w)
-n(eap)r(on)h(for)g(oppressiv)n(e)e(go)n(v)n(ernmen)n(ts,)g(corp)r(o-)
-523 3729 y(rations)g(and)h(pressure)f(groups)g(in)i(sti\015ing)f
-(dissen)n(t)g(and)g(suppressing)f(dissemination)523 3828
-y(of)d(information.)f(A)h(v)-5 b(ariet)n(y)34 b(of)h(tec)n(hniques)f
-(can)h(b)r(e)g(used)g(to)g(censor)e(online)i(informa-)523
-3928 y(tion;)h(hard)f(driv)n(es)g(can)h(b)r(e)g(con\014scated)f(and)h
-(searc)n(hed,)f(tra\016c)g(can)h(b)r(e)g(\014ltered,)g(and)523
-4028 y(denial-of-service)28 b(attac)n(ks)h(can)g(b)r(e)h(p)r(erformed)g
-(against)f(serv)n(ers.)e(In)j(addition)g(to)g(these)523
-4127 y(tec)n(hnical)25 b(measures,)f(individuals)h(can)f(b)r(e)i
-(singled)e(out)h(and)g(sub)5 b(jected)26 b(to)f(harassmen)n(t.)523
-4227 y(A)h(common)e(requiremen)n(t)h(for)g(censorship)f(in)h(an)n(y)g
-(form)g(is)g(the)h(abilit)n(y)f(to)g Fu(r)l(e)l(c)l(o)l(gnize)h
-FB(the)523 4327 y(ob)5 b(jectionable)27 b(information.)648
-4426 y(The)21 b(goal)g(of)g(the)h(enco)r(ding)f(sc)n(heme)g(presen)n
-(ted)g(in)h(this)g(pap)r(er)f(is)h(to)f(mak)n(e)g(it)h(di\016cult)523
-4526 y(to)31 b(iden)n(tify)g(information)f(stored)g(or)f(transmitted)i
-(in)g(a)f(op)r(en)h Fu(de)l(c)l(entr)l(alize)l(d)h FB(wide-area)523
-4625 y(net)n(w)n(ork)21 b(where)h(man)n(y)f Fu(untruste)l(d)g
-FB(p)r(eers)h(w)n(an)n(t)g(to)g(share)f(data.)h(The)g(prop)r(osed)f
-(enco)r(ding)523 4725 y(sc)n(heme,)36 b(called)g(ECRS,)g(allo)n(ws)f(b)
-r(oth)i(con)n(ten)n(t)f(and)g(queries)g(to)g(b)r(e)h(encrypted)f(while)
-523 4825 y(b)r(eing)g(transmitted)g(or)g(stored)f(on)h(the)g(net)n(w)n
-(ork.)f(This)h(ensures)f(that)h(in)n(termediaries)523
-4924 y(remain)31 b(oblivious)f(to)h(the)h(data)f(they)g(are)f
-(handling,)h(reducing)g(the)h(c)n(hance)e(that)i(they)p
-Black Black eop end
+ 0 3931 a 83 x FA(1)g(In)m(tro)s(duction)0 4207
+y Fz(In)n(ternet)22 b(censorship)e(is)i(a)f(p)r(o)n(w)n(erful)g(w)n
+(eap)r(on)g(for)h(oppressiv)n(e)e(go)n(v)n(ernmen)n(ts,)f(corp)r(o-)0
+4307 y(rations)h(and)g(pressure)g(groups)f(in)i(sti\015ing)g(dissen)n
+(t)f(and)h(suppressing)e(dissemination)0 4406 y(of)30
+b(information.)g(A)g(v)-5 b(ariet)n(y)29 b(of)h(tec)n(hniques)g(can)g
+(b)r(e)h(used)f(to)g(censor)f(online)h(infor-)0 4506
+y(mation;)c(hard)f(driv)n(es)h(can)f(b)r(e)i(con\014scated)e(and)h
+(searc)n(hed,)f(tra\016c)h(can)f(b)r(e)i(\014ltered,)0
+4605 y(and)h(denial-of-service)f(attac)n(ks)g(can)h(b)r(e)h(p)r
+(erformed)f(against)g(serv)n(ers.)e(In)j(addition)p Black
+0 4674 1086 4 v 0 4762 a Ft(Send)f(o\013print)h(r)l(e)l(quests)h(to)5
+b Fv(:)p Black Black Black eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -5657,170 +5671,148 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark
 end
- 523 232 a Black Fy(2)237 b(C.)27
-b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
-Black 523 448 a FB(can)i(b)r(e)g(singled)g(out)g(for)f(an)h(attac)n(k)f
-(or)g(held)i(liable.)e(It)i(is)f(imp)r(ortan)n(t)f(to)h(note)g(that)h
-(the)523 548 y(primary)19 b(goal)f(is)h Fu(deniability)k
-FB(for)c(the)h(p)r(eers)f(storing)g(and)g(transmitting)h(the)g
-(information.)523 648 y(These)28 b(p)r(eers)f(m)n(ust)i(b)r(e)f(able)g
-(to)g(claim)g(that)g(decrypting)f(the)i(information)e(is)h(infeasible)
-523 747 y Fu(for)j(them)p FB(.)648 878 y(W)-7 b(e)23
-b(\014nd)g(it)f(acceptable)g(if)h(a)g(censor)e(who)h(kno)n(ws)g
-(precisely)f(whic)n(h)i(con)n(ten)n(t)f(to)g(censor)523
-977 y(is)28 b(able)f(to)g(matc)n(h)h(a)f(request)g(or)f(resp)r(onse)h
-(against)f(that)i(particular)f(con)n(ten)n(t.)g(ECRS)g(is)523
-1077 y(supp)r(osed)33 b(to)f(protect)h(in)n(termediaries)e(that)i
-(merely)f(transmit)h(information)f(and)h(that)523 1177
-y(need)f(to)f(b)r(e)h(able)f(to)h(sho)n(w)e(that)i(they)g(are)e(unable)
-i(to)f(recognize)f(ob)5 b(jectionable)31 b(infor-)523
-1276 y(mation)c(for)f(their)g(o)n(wn)g(protection.)h(The)f(ultimate)i
-(senders)d(and)i(receiv)n(ers)e(of)h(the)h(data)523 1376
-y(should)36 b(b)r(e)h(protected)f(b)n(y)g(other)f(means,)h(suc)n(h)g
-(as)g(anon)n(ymous)e(routing)i([)p 0 1 0 TeXcolorrgb
-3002 1376 a
+ 0 17 a Black Fv(2)917 b(C.)27 b(Grotho\013,)f(K.)g
+(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
+0 248 a Fz(to)33 b(these)g(tec)n(hnical)g(measures,)f(individuals)h
+(can)f(b)r(e)i(singled)f(out)g(and)g(sub)5 b(jected)0
+348 y(to)36 b(harassmen)n(t.)e(A)i(common)g(requiremen)n(t)f(for)g
+(censorship)g(in)h(an)n(y)f(form)h(is)g(the)0 448 y(abilit)n(y)27
+b(to)h Fs(r)l(e)l(c)l(o)l(gnize)g Fz(the)g(ob)5 b(jectionable)26
+b(information.)125 555 y(The)31 b(goal)g(of)g(the)h(enco)r(ding)g(sc)n
+(heme)f(presen)n(ted)g(in)h(this)g(pap)r(er)f(is)h(to)g(mak)n(e)e(it)0
+655 y(di\016cult)22 b(to)f(iden)n(tify)g(information)f(stored)g(or)g
+(transmitted)h(in)g(a)g(op)r(en)g Fs(de)l(c)l(entr)l(alize)l(d)0
+754 y Fz(wide-area)36 b(net)n(w)n(ork)h(where)g(man)n(y)g
+Fs(untruste)l(d)f Fz(p)r(eers)i(w)n(an)n(t)f(to)h(share)e(data.)i(The)0
+854 y(prop)r(osed)31 b(enco)r(ding)i(sc)n(heme,)f(called)g(ECRS,)g
+(allo)n(ws)f(b)r(oth)i(con)n(ten)n(t)f(and)h(queries)0
+953 y(to)38 b(b)r(e)g(encrypted)f(while)h(b)r(eing)g(transmitted)g(or)e
+(stored)h(on)h(the)g(net)n(w)n(ork.)e(This)0 1053 y(ensures)25
+b(that)h(in)n(termediaries)f(remain)g(oblivious)g(to)h(the)h(data)e
+(they)h(are)f(handling,)0 1153 y(reducing)39 b(the)h(c)n(hance)f(that)h
+(they)g(can)g(b)r(e)g(singled)f(out)h(for)f(an)h(attac)n(k)f(or)g(held)
+0 1252 y(liable.)33 b(It)h(is)g(imp)r(ortan)n(t)f(to)g(note)h(that)g
+(the)f(primary)g(goal)f(is)h Fs(deniability)k Fz(for)c(the)0
+1352 y(p)r(eers)e(storing)g(and)h(transmitting)f(the)i(information.)e
+(These)h(p)r(eers)f(m)n(ust)h(b)r(e)g(able)0 1452 y(to)27
+b(claim)h(that)g(decrypting)f(the)h(information)f(is)g(infeasible)h
+Fs(for)i(them)p Fz(.)125 1559 y(W)-7 b(e)29 b(\014nd)h(it)g(acceptable)
+f(if)h(a)f(censor)f(who)h(kno)n(ws)f(precisely)h(whic)n(h)g(con)n(ten)n
+(t)g(to)0 1659 y(censor)19 b(is)h(able)g(to)h(matc)n(h)f(a)g(request)g
+(or)f(resp)r(onse)g(against)h(that)g(particular)f(con)n(ten)n(t.)0
+1758 y(ECRS)28 b(is)f(supp)r(osed)h(to)f(protect)h(in)n(termediaries)e
+(that)i(merely)f(transmit)h(informa-)0 1858 y(tion)d(and)g(that)g(need)
+h(to)f(b)r(e)g(able)g(to)g(sho)n(w)f(that)i(they)f(are)f(unable)h(to)g
+(recognize)f(ob-)0 1957 y(jectionable)j(information)h(for)f(their)g(o)n
+(wn)g(protection.)g(The)h(ultimate)g(senders)f(and)0
+2057 y(receiv)n(ers)k(of)h(the)i(data)e(should)g(b)r(e)i(protected)e(b)
+n(y)g(other)h(means,)f(suc)n(h)g(as)g(anon)n(y-)0 2157
+y(mous)38 b(routing)g([)p 0 1 0 TeXcolorrgb 553 2157
+a
 SDict begin H.S end
- 3002 1376 a 0 1 0 TeXcolorrgb FB(8)p 0 1 0
-TeXcolorrgb 3043 1322 a
+ 553 2157 a 0 1 0 TeXcolorrgb Fz(8)p 0 1 0 TeXcolorrgb
+595 2103 a
 SDict begin H.R end
- 3043 1322 a 3043 1376 a
+ 595 2103 a 595 2157 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.dingledine02mixminion) cvn H.B /ANN pdfmark end
- 3043
-1376 a Black FB(,)p 0 1 0 TeXcolorrgb 3066 1376 a
+ 595 2157 a Black Fz(,)p
+0 1 0 TeXcolorrgb 626 2157 a
 SDict begin H.S end
- 3066
-1376 a 0 1 0 TeXcolorrgb FB(30)p 0 1 0 TeXcolorrgb 3150
-1322 a
+ 626 2157 a 0 1 0 TeXcolorrgb
+Fz(30)p 0 1 0 TeXcolorrgb 709 2103 a
 SDict begin H.R end
- 3150 1322 a 3150 1376 a
+ 709 2103 a 709 2157
+a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.syverson97anonymous) cvn H.B /ANN pdfmark end
- 3150 1376 a Black FB(].)g(As)g(a)523
-1475 y(con)n(ten)n(t)23 b(enco)r(ding)h(mec)n(hanism,)f(ECRS)g(could)h
-(b)r(e)g(in)n(tegrated)f(in)n(to)g(almost)g(an)n(y)g(generic)523
-1575 y(p)r(eer-to-p)r(eer)30 b(infrastructure)h(to)h(enhance)f(its)h
-(resistance)e(to)i(censorship.)e(Sp)r(eci\014c)i(de-)523
-1675 y(tails)26 b(on)f(ho)n(w)g(p)r(eers)h(comm)n(unicate)f(or)g(route)
-g(data)h(are)f(therefore)g(outside)g(of)h(the)g(scop)r(e)523
-1774 y(of)i(this)f(pap)r(er.)648 1905 y(The)37 b(de\014nition)h(of)f
-(censorship)f(resistance)g(used)i(in)f(this)h(w)n(ork)e(is)h(similar)f
-(to)i(the)523 2004 y(formal)30 b(de\014nition)h(giv)n(en)f(b)n(y)g([)p
-0 1 0 TeXcolorrgb 1520 2004 a
+ 709 2157 a Black Fz(].)h(As)g(a)f(con)n(ten)n(t)g(enco)r(ding)g(mec)n
+(hanism,)h(ECRS)f(could)g(b)r(e)0 2256 y(in)n(tegrated)c(in)n(to)i
+(almost)e(an)n(y)h(generic)f(p)r(eer-to-p)r(eer)g(infrastructure)h(to)g
+(enhance)0 2356 y(its)d(resistance)f(to)h(censorship.)f(Sp)r(eci\014c)i
+(details)e(on)h(ho)n(w)g(p)r(eers)f(comm)n(unicate)h(or)0
+2456 y(route)27 b(data)g(are)g(therefore)f(outside)i(of)f(the)h(scop)r
+(e)g(of)f(this)h(pap)r(er.)125 2563 y(The)36 b(de\014nition)g(of)g
+(censorship)f(resistance)g(used)h(in)g(this)g(w)n(ork)f(is)h(similar)f
+(to)0 2663 y(the)25 b(formal)g(de\014nition)g(giv)n(en)f(b)n(y)h([)p
+0 1 0 TeXcolorrgb 1115 2663 a
 SDict begin H.S end
- 1520 2004 a 0 1 0 TeXcolorrgb
-FB(24)p 0 1 0 TeXcolorrgb 1603 1951 a
+ 1115 2663 a 0 1 0 TeXcolorrgb
+Fz(24)p 0 1 0 TeXcolorrgb 1198 2609 a
 SDict begin H.R end
- 1603 1951 a 1603
-2004 a
+ 1198 2609 a 1198
+2663 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.perng2005csr) cvn H.B /ANN pdfmark end
- 1603 2004 a Black FB(],)h(in)g(whic)n(h)g(censorship)e
-(resistance)h(is)h(de\014ned)g(as)f(the)523 2104 y(inabilit)n(y)41
-b(of)f(a)h(censor)e(to)i(restrict)f(a)h(targeted)e(do)r(cumen)n(t)i
-(while)g(allo)n(wing)f(at)g(least)523 2204 y(one)f(other)g(do)r(cumen)n
-(t)h(to)f(b)r(e)h(retriev)n(ed.)e(In)i(the)f(con)n(text)h(of)f([)p
-0 1 0 TeXcolorrgb 2637 2204 a
+ 1198 2663 a Black Fz(],)h(in)f(whic)n(h)g(censorship)f
+(resistance)g(is)h(de\014ned)0 2762 y(as)30 b(the)i(inabilit)n(y)f(of)g
+(a)g(censor)e(to)i(restrict)g(a)g(targeted)f(do)r(cumen)n(t)h(while)g
+(allo)n(wing)0 2862 y(at)39 b(least)g(one)g(other)f(do)r(cumen)n(t)i
+(to)f(b)r(e)h(retriev)n(ed.)e(In)h(the)h(con)n(text)f(of)g([)p
+0 1 0 TeXcolorrgb 2431 2862 a
 SDict begin H.S end
- 2637 2204 a 0 1 0 TeXcolorrgb
-FB(24)p 0 1 0 TeXcolorrgb 2720 2150 a
+ 2431 2862 a 0 1 0 TeXcolorrgb
+Fz(24)p 0 1 0 TeXcolorrgb 2514 2808 a
 SDict begin H.R end
- 2720 2150 a 2720
-2204 a
+ 2514 2808 a 2514
+2862 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.perng2005csr) cvn H.B /ANN pdfmark end
- 2720 2204 a Black FB(],)h(the)f(adv)n(ersary)e(is)523
-2303 y(gran)n(ted)26 b(extensiv)n(e)h(capabilities.)g(In)g(particular,)
-g(the)g(adv)n(ersary)e(is)i(allo)n(w)n(ed)f(to)h(insp)r(ect)523
-2403 y(ev)n(ery)33 b(request)g(or)g(resp)r(onse,)g(transcript)g(the)h
-(pro)r(cessing)f(steps)h(of)g(all)f(the)i(p)r(eers)e(and)523
-2502 y(then)27 b(decide)g(whether)g(to)f(\014lter)h(\(drop\))g(a)f(giv)
-n(en)g(resp)r(onse.)g(Av)-5 b(ailabilit)n(y)26 b(of)h(the)g(service)523
-2602 y(and)38 b(anon)n(ymit)n(y)f(of)h(the)h(participan)n(ts)e(are)g
-(sp)r(eci\014cally)h(decoupled)g(from)g(censorship)523
-2702 y(resistance.)32 b(F)-7 b(or)33 b(ECRS,)g(an)g(almost)g(iden)n
-(tical)g(adv)n(ersary)e(mo)r(del)i(is)h(selected)f({)g(while)523
-2801 y(anon)n(ymit)n(y)j(and)h(a)n(v)-5 b(ailabilit)n(y)35
-b(can)i(certainly)f(b)r(e)h(additional)g(\(and)g(often)g(imp)r(ortan)n
-(t\))523 2901 y(goals,)27 b(ECRS)h(is)h(an)f(orthogonal)e(mec)n
-(hanism.)j(The)f(primary)f(di\013erence)i(in)g(the)g(adv)n(er-)523
-3001 y(sary)d(mo)r(del)i(for)f(ECRS)h(is)f(that)h(the)g(attac)n(k)n(er)
-e(is)i(not)f(allo)n(w)n(ed)f(to)i(b)r(e)g(able)f(to)h(guess)f(the)523
-3100 y(exact)c(con)n(ten)n(t)g(that)g(is)h(to)f(b)r(e)h(censored.)e
-(This)h(is)h(an)f(imp)r(ortan)n(t)g(restriction)f(in)i(practice.)523
-3200 y(In)d(the)g(absence)f(of)h(suc)n(h)f(a)g(restriction,)g([)p
-0 1 0 TeXcolorrgb 1821 3200 a
+ 2514 2862 a Black Fz(],)h(the)0 2961 y(adv)n(ersary)31
+b(is)i(gran)n(ted)f(extensiv)n(e)g(capabilities.)h(In)h(particular,)e
+(the)h(adv)n(ersary)e(is)0 3061 y(allo)n(w)n(ed)22 b(to)h(insp)r(ect)h
+(ev)n(ery)e(request)h(or)f(resp)r(onse,)h(transcript)f(the)i(pro)r
+(cessing)e(steps)0 3161 y(of)31 b(all)g(the)h(p)r(eers)f(and)g(then)h
+(decide)f(whether)h(to)f(\014lter)g(\(drop\))g(a)g(giv)n(en)g(resp)r
+(onse.)0 3260 y(Av)-5 b(ailabilit)n(y)23 b(of)h(the)g(service)e(and)h
+(anon)n(ymit)n(y)g(of)g(the)h(participan)n(ts)f(are)f(sp)r
+(eci\014cally)0 3360 y(decoupled)35 b(from)g(censorship)f(resistance.)h
+(F)-7 b(or)34 b(ECRS,)i(an)f(almost)f(iden)n(tical)i(ad-)0
+3460 y(v)n(ersary)29 b(mo)r(del)i(is)g(selected)g({)g(while)g(anon)n
+(ymit)n(y)f(and)h(a)n(v)-5 b(ailabilit)n(y)30 b(can)h(certainly)0
+3559 y(b)r(e)g(additional)f(\(and)g(often)h(imp)r(ortan)n(t\))g(goals,)
+e(ECRS)h(is)g(an)h(orthogonal)d(mec)n(ha-)0 3659 y(nism.)h(The)g
+(primary)e(di\013erence)i(in)g(the)g(adv)n(ersary)d(mo)r(del)j(for)f
+(ECRS)h(is)f(that)i(the)0 3758 y(attac)n(k)n(er)f(is)i(not)g(allo)n(w)n
+(ed)f(to)h(b)r(e)g(able)g(to)g(guess)f(the)h(exact)g(con)n(ten)n(t)f
+(that)i(is)f(to)f(b)r(e)0 3858 y(censored.)21 b(This)h(is)h(an)f(imp)r
+(ortan)n(t)g(restriction)f(in)i(practice.)e(In)i(the)f(absence)g(of)g
+(suc)n(h)0 3958 y(a)g(restriction,)g([)p 0 1 0 TeXcolorrgb
+503 3958 a
 SDict begin H.S end
- 1821 3200 a 0 1 0 TeXcolorrgb
-FB(24)p 0 1 0 TeXcolorrgb 1904 3146 a
+ 503 3958 a 0 1 0 TeXcolorrgb Fz(24)p 0 1 0
+TeXcolorrgb 586 3904 a
 SDict begin H.R end
- 1904 3146 a 1904
-3200 a
+ 586 3904 a 586 3958 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.perng2005csr) cvn H.B /ANN pdfmark end
- 1904 3200 a Black FB(])h(sho)n(ws)e(that)i(censorship)f
-(resistance)f(requires)523 3300 y(a)27 b(form)h(of)f(priv)-5
-b(ate)28 b(information)f(retriev)-5 b(al)27 b(for)g(whic)n(h)h(eac)n(h)
-f(op)r(eration)f(has)i(complexit)n(y)523 3399 y Ft(O)r
-FB(\()p Ft(n)p FB(\),)h(where)e Ft(n)g FB(is)g(the)h(size)f(of)h(the)f
-(datastore.)f(In)i(return)f(for)g(restricting)f(the)i(guessing)523
-3499 y(capabilities)i(of)h(the)g(adv)n(ersary)-7 b(,)27
-b(ECRS)k(can)f(ac)n(hiev)n(e)f Ft(O)r FB(\(1\))j(complexit)n(y)e(for)g
-(its)g(op)r(era-)523 3598 y(tions.)24 b(Considering)f(that)h
-(scalabilit)n(y)g(is)g(also)f(an)h(imp)r(ortan)n(t)f(goal,)g(w)n(e)h(b)
-r(eliev)n(e)g(that)h(this)523 3698 y(is)j(a)f(reasonable)e
-(trade-o\013.)648 3828 y(As)35 b(an)h(enco)r(ding)f(sc)n(heme,)g(ECRS)g
-(has)g(to)h(address)e(t)n(w)n(o)h(imp)r(ortan)n(t)g(issues.)g(First)523
-3928 y(of)c(all,)g(users)f(m)n(ust)i(b)r(e)f(able)g(to)g(\014nd)h(con)n
-(ten)n(t,)f(preferably)f(b)n(y)h(searc)n(hing)e(with)j(simple,)523
-4028 y(natural)e(language)e(k)n(eyw)n(ords.)g(Metadata)i(related)g(to)g
-(the)g(con)n(ten)n(ts)g(of)g(the)h(\014le)f(should)523
-4127 y(b)r(e)39 b(made)g(a)n(v)-5 b(ailable)37 b(as)h(part)g(of)h(the)g
-(searc)n(h)e(result)i(and)f(prior)g(to)h(the)g(do)n(wnload)e(of)523
-4227 y(the)c(actual)g(\014le.)g(Metadata)f(can)h(include)g(an)n(ything)
-f(from)h(user-pro)n(vided)e(con)n(ten)n(t)h(de-)523 4327
-y(scriptions)i(to)g(th)n(um)n(bnails)g(\(for)g(images\))g(and)g
-(automatically)f(detected)i(mime-t)n(yp)r(es.)523 4426
-y(Secondly)-7 b(,)24 b(the)g(enco)r(ding)f(sc)n(heme)g(should)h(supp)r
-(ort)f(sw)n(arming)f({)i(that)g(is,)f(the)h(do)n(wnload)523
-4526 y(of)j(a)g(\014le)g(from)g(m)n(ultiple)h(p)r(eers.)f(Since)g(it)h
-(is)f(p)r(ossible)g(that)h(iden)n(tical)f(data)f(could)h(b)r(e)h(in-)
-523 4625 y(serted)h(b)n(y)h(man)n(y)f(indep)r(enden)n(t)h(parties,)f
-(the)h(enco)r(ding)g(sc)n(heme)f(should)h(alw)n(a)n(ys)d(result)523
-4725 y(in)j(iden)n(tical)g(enco)r(dings)g(for)g(iden)n(tical)g(source)f
-(\014les.)h(This)g(sp)r(ecial)g(form)f(of)i(encryption)523
-4825 y(w)n(as)d(probably)f(\014rst)i(describ)r(ed)f(in)h([)p
-0 1 0 TeXcolorrgb 1695 4825 a
-SDict begin H.S end
- 1695 4825 a 0 1 0 TeXcolorrgb
-FB(5)p 0 1 0 TeXcolorrgb 1737 4771 a
-SDict begin H.R end
- 1737 4771 a 1737
-4825 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.clark99distributed) cvn H.B /ANN pdfmark end
- 1737 4825 a Black FB(])g(and)f(later)h(termed)f
-Fu(c)l(onver)l(gent)j(encryption)f FB([)p 0 1 0 TeXcolorrgb
-3276 4825 a
-SDict begin H.S end
- 3276 4825 a 0 1 0 TeXcolorrgb FB(10)p 0 1 0
-TeXcolorrgb 3359 4771 a
-SDict begin H.R end
- 3359 4771 a 3359 4825 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.farsite) cvn H.B /ANN pdfmark end
- 3359
-4825 a Black FB(].)523 4924 y(With)k(con)n(v)n(ergen)n(t)c(encryption,)
-j(the)g(existence)f(of)h(m)n(ultiple)g(copies)g(of)f(the)h(same)g(con-)
-p Black Black eop end
+ 586 3958
+a Black Fz(])g(sho)n(ws)g(that)h(censorship)e(resistance)g(requires)g
+(a)i(form)f(of)g(priv)-5 b(ate)0 4057 y(information)27
+b(retriev)-5 b(al)27 b(for)h(whic)n(h)g(eac)n(h)f(op)r(eration)g(has)g
+(complexit)n(y)g Fr(O)r Fz(\()p Fr(n)p Fz(\),)i(where)0
+4157 y Fr(n)c Fz(is)g(the)g(size)f(of)h(the)h(datastore.)d(In)i(return)
+g(for)f(restricting)g(the)h(guessing)f(capabili-)0 4257
+y(ties)h(of)h(the)g(adv)n(ersary)-7 b(,)22 b(ECRS)k(can)f(ac)n(hiev)n
+(e)f Fr(O)r Fz(\(1\))i(complexit)n(y)f(for)g(its)g(op)r(erations.)0
+4356 y(Considering)j(that)i(scalabilit)n(y)e(is)h(also)f(an)h(imp)r
+(ortan)n(t)g(goal,)f(w)n(e)h(b)r(eliev)n(e)g(that)h(this)0
+4456 y(is)d(a)h(reasonable)d(trade-o\013.)125 4563 y(As)20
+b(an)g(enco)r(ding)g(sc)n(heme,)g(ECRS)g(has)g(to)g(address)f(t)n(w)n
+(o)h(imp)r(ortan)n(t)g(issues.)g(First)0 4663 y(of)26
+b(all,)g(users)f(m)n(ust)i(b)r(e)f(able)g(to)g(\014nd)g(con)n(ten)n(t,)
+g(preferably)f(b)n(y)h(searc)n(hing)e(with)j(sim-)0 4762
+y(ple,)e(natural)f(language)f(k)n(eyw)n(ords.)g(Metadata)h(related)g
+(to)h(the)g(con)n(ten)n(ts)f(of)h(the)g(\014le)p Black
+Black eop end
 %%Page: 3 3
 TeXDict begin 3 2 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -5828,381 +5820,397 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark
 end
- 523 232 a Black 1036 w Fy(An)25
-b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)238
-b(3)p Black 523 448 a FB(ten)n(t)21 b(can)g(b)r(e)g(detected;)g(this)g
-(kno)n(wledge)f(can)g(then)i(b)r(e)f(used)g(to)g(increase)e
-(fault-tolerance,)523 548 y(p)r(erformance)27 b(and)g(a)n(v)-5
-b(ailabilit)n(y)e(.)648 745 y(Unfortunately)g(,)26 b(it)g(is)g(not)g
-(enough)g(to)g(just)g(meet)h(requiremen)n(ts)e(related)g(to)h
-(e\016cien)n(t)523 845 y(storage)c(and)h(retriev)-5 b(al)22
-b(of)i(the)g(con)n(ten)n(t.)f(A)h(public)g(\014lesharing)e(net)n(w)n
-(ork)g(should)h(b)r(e)h(op)r(en)523 945 y(to)33 b(new)g(participan)n
-(ts)g(without)g(an)n(y)g(restrictiv)n(e)f(form)h(of)g(access)f(con)n
-(trol.)g(This)h(op)r(ens)523 1044 y(the)c(net)n(w)n(ork)f(to)g
-(malicious)g(participan)n(ts.)g(Th)n(us,)h(the)g(enco)r(ding)g(sc)n
-(heme)f(should)h(guar-)523 1144 y(an)n(tee)24 b(the)g
-Fu(inte)l(grity)h FB(of)f(the)h(con)n(ten)n(t,)f(ev)n(en)g(in)g(the)h
-(presence)e(of)h(malicious)g(participan)n(ts.)523 1244
-y(The)i(enco)r(ding)f(mec)n(hanism)h(m)n(ust)g(ensure)f(that)h(in)n(v)
--5 b(alid)26 b(replies)f(are)g(detected)h(and)g(that)523
-1343 y(p)r(eers)35 b(can)h(distinguish)g(v)-5 b(aluable)35
-b(con)n(ten)n(t)h(from)f(maliciously)g(generated)g(noise.)g(This)523
-1443 y(is)30 b(particularly)e(imp)r(ortan)n(t)h(in)h(three)g(cases.)e
-(First,)i(if)g(large)e(\014les)i(are)f(assem)n(bled)f(using)523
-1542 y(blo)r(c)n(ks)35 b(from)h(m)n(ultiple)h(p)r(eers,)f(some)f(of)h
-(these)g(p)r(eers)g(ma)n(y)f(b)r(e)i(malicious)e(and)h(try)g(to)523
-1642 y(corrupt)g(the)g(\014le.)h(These)f(corruptions)f(should)h(b)r(e)h
-(detected)g(on)f(a)g(small)g(gran)n(ularit)n(y)523 1742
-y(lev)n(el)f(and)g(repaired)f(with)i(correct)e(data)h(from)g(other)f(p)
-r(eers.)h(Second,)g(for)g(searc)n(hes)f(it)523 1841 y(should)i(b)r(e)h
-(di\016cult)h(for)e(p)r(eers)g(to)g(spam)h(the)f(result)h(set;)f
-(otherwise,)g(the)h(users)f(ma)n(y)523 1941 y(dro)n(wn)i(in)h(useless)g
-(information.)f(Finally)-7 b(,)39 b(in)n(termediaries)f(that)h(are)f
-(merely)h(routing)523 2041 y(the)32 b(con)n(ten)n(t)e(should)h(b)r(e)h
-(able)f(to)g(detect)g(in)n(v)-5 b(alid)31 b(replies.)g(This)g(enables)g
-(the)g(existence)523 2140 y(of)h(lo)r(cal)g(economies)f(\(suc)n(h)h(as)
-f(those)h(in)h([)p 0 1 0 TeXcolorrgb 1897 2140 a
+ 0 17 a Black Fv(An)25 b(Enco)r(ding)h(for)h
+(Censorship-Resistan)n(t)f(Sharing)1106 b(3)p Black 0
+248 a Fz(should)23 b(b)r(e)h(made)g(a)n(v)-5 b(ailable)22
+b(as)h(part)g(of)h(the)g(searc)n(h)e(result)h(and)h(prior)e(to)i(the)g
+(do)n(wn-)0 348 y(load)31 b(of)i(the)f(actual)g(\014le.)g(Metadata)f
+(can)h(include)h(an)n(ything)e(from)h(user-pro)n(vided)0
+448 y(con)n(ten)n(t)24 b(descriptions)g(to)h(th)n(um)n(bnails)g(\(for)f
+(images\))g(and)h(automatically)e(detected)0 547 y(mime-t)n(yp)r(es.)e
+(Secondly)-7 b(,)21 b(the)h(enco)r(ding)f(sc)n(heme)f(should)h(supp)r
+(ort)g(sw)n(arming)f({)h(that)0 647 y(is,)26 b(the)h(do)n(wnload)e(of)h
+(a)g(\014le)g(from)g(m)n(ultiple)h(p)r(eers.)f(Since)h(it)f(is)g(p)r
+(ossible)g(that)h(iden-)0 746 y(tical)40 b(data)f(could)g(b)r(e)i
+(inserted)e(b)n(y)g(man)n(y)h(indep)r(enden)n(t)g(parties,)f(the)h
+(enco)r(ding)0 846 y(sc)n(heme)25 b(should)h(alw)n(a)n(ys)d(result)j
+(in)g(iden)n(tical)f(enco)r(dings)g(for)g(iden)n(tical)h(source)e
+(\014les.)0 946 y(This)h(sp)r(ecial)f(form)g(of)h(encryption)f(w)n(as)g
+(probably)f(\014rst)h(describ)r(ed)h(in)g([)p 0 1 0 TeXcolorrgb
+2301 946 a
 SDict begin H.S end
- 1897
-2140 a 0 1 0 TeXcolorrgb FB(13)p 0 1 0 TeXcolorrgb 1980
-2087 a
+ 2301 946 a 0 1 0 TeXcolorrgb Fz(5)p 0 1 0
+TeXcolorrgb 2342 892 a
 SDict begin H.R end
- 1980 2087 a 1980 2140 a
+ 2342 892 a 2342 946 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.clark99distributed) cvn H.B /ANN pdfmark end
+ 2342 946
+a Black Fz(])g(and)g(later)0 1045 y(termed)35 b Fs(c)l(onver)l(gent)h
+(encryption)h Fz([)p 0 1 0 TeXcolorrgb 1148 1045 a
+SDict begin H.S end
+ 1148
+1045 a 0 1 0 TeXcolorrgb Fz(10)p 0 1 0 TeXcolorrgb 1231
+992 a
+SDict begin H.R end
+ 1231 992 a 1231 1045 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.farsite) cvn H.B /ANN pdfmark end
+ 1231 1045 a Black Fz(].)e(With)h(con)n(v)n
+(ergen)n(t)d(encryption,)h(the)i(exis-)0 1145 y(tence)23
+b(of)f(m)n(ultiple)h(copies)e(of)i(the)f(same)g(con)n(ten)n(t)g(can)g
+(b)r(e)h(detected;)g(this)f(kno)n(wledge)0 1245 y(can)27
+b(then)h(b)r(e)g(used)g(to)f(increase)g(fault-tolerance,)f(p)r
+(erformance)h(and)g(a)n(v)-5 b(ailabilit)n(y)e(.)125
+1355 y(Unfortunately)g(,)40 b(it)g(is)g(not)f(enough)h(to)f(just)i
+(meet)f(requiremen)n(ts)f(related)g(to)0 1454 y(e\016cien)n(t)33
+b(storage)e(and)i(retriev)-5 b(al)32 b(of)h(the)g(con)n(ten)n(t.)g(A)g
+(public)h(\014lesharing)d(net)n(w)n(ork)0 1554 y(should)g(b)r(e)h(op)r
+(en)g(to)f(new)h(participan)n(ts)e(without)i(an)n(y)f(restrictiv)n(e)f
+(form)i(of)f(access)0 1653 y(con)n(trol.)36 b(This)h(op)r(ens)g(the)g
+(net)n(w)n(ork)f(to)h(malicious)f(participan)n(ts.)g(Th)n(us,)h(the)g
+(en-)0 1753 y(co)r(ding)f(sc)n(heme)f(should)h(guaran)n(tee)e(the)j
+Fs(inte)l(grity)f Fz(of)g(the)h(con)n(ten)n(t,)f(ev)n(en)f(in)i(the)0
+1853 y(presence)d(of)h(malicious)f(participan)n(ts.)f(The)i(enco)r
+(ding)f(mec)n(hanism)h(m)n(ust)g(ensure)0 1952 y(that)k(in)n(v)-5
+b(alid)39 b(replies)f(are)f(detected)j(and)e(that)h(p)r(eers)f(can)h
+(distinguish)f(v)-5 b(aluable)0 2052 y(con)n(ten)n(t)27
+b(from)g(maliciously)f(generated)g(noise.)h(This)h(is)f(particularly)f
+(imp)r(ortan)n(t)h(in)0 2152 y(three)37 b(cases.)f(First,)i(if)g(large)
+e(\014les)h(are)f(assem)n(bled)h(using)g(blo)r(c)n(ks)f(from)h(m)n
+(ultiple)0 2251 y(p)r(eers,)g(some)f(of)h(these)g(p)r(eers)f(ma)n(y)h
+(b)r(e)g(malicious)f(and)h(try)g(to)f(corrupt)g(the)i(\014le.)0
+2351 y(These)32 b(corruptions)f(should)h(b)r(e)g(detected)h(on)f(a)f
+(small)h(gran)n(ularit)n(y)e(lev)n(el)i(and)g(re-)0 2450
+y(paired)24 b(with)i(correct)d(data)i(from)g(other)f(p)r(eers.)h
+(Second,)g(for)f(searc)n(hes)f(it)j(should)e(b)r(e)0
+2550 y(di\016cult)35 b(for)e(p)r(eers)g(to)h(spam)f(the)h(result)g
+(set;)g(otherwise,)f(the)h(users)f(ma)n(y)g(dro)n(wn)0
+2650 y(in)g(useless)f(information.)g(Finally)-7 b(,)32
+b(in)n(termediaries)f(that)i(are)f(merely)g(routing)g(the)0
+2749 y(con)n(ten)n(t)d(should)g(b)r(e)h(able)f(to)g(detect)h(in)n(v)-5
+b(alid)29 b(replies.)g(This)g(enables)g(the)g(existence)0
+2849 y(of)j(lo)r(cal)g(economies)e(\(suc)n(h)i(as)g(those)g(in)g([)p
+0 1 0 TeXcolorrgb 1373 2849 a
+SDict begin H.S end
+ 1373 2849 a 0 1 0 TeXcolorrgb
+Fz(13)p 0 1 0 TeXcolorrgb 1456 2795 a
+SDict begin H.R end
+ 1456 2795 a 1456
+2849 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.ebe2003) cvn H.B /ANN pdfmark end
- 1980 2140 a Black FB(]\))f(and)g(prev)n
-(en)n(ts)f(the)i(retransmission)d(and)523 2240 y(replication)d(of)g
-(corrupted)g(data)g(b)n(y)g(non-malicious)g(p)r(eers.)648
-2437 y(This)20 b(pap)r(er)h(in)n(tro)r(duces)f(the)h(primitiv)n(es)g
-(that)g(ECRS)f(uses)h(to)g(ac)n(hiev)n(e)e(these)i(goals:)e(a)523
-2537 y(sp)r(eci\014c)26 b(altered)e(v)-5 b(arian)n(t)25
-b(of)g(the)h(Con)n(ten)n(t)f(Hash)g(Key)g(\(CHK\),)h(a)f(primitiv)n(e)g
-(used)h(in)f([)p 0 1 0 TeXcolorrgb 3317 2537 a
+ 1456 2849 a Black Fz(]\))g(and)g(prev)n(en)n(ts)f(the)i
+(retransmission)0 2949 y(and)27 b(replication)g(of)h(corrupted)e(data)h
+(b)n(y)h(non-malicious)e(p)r(eers.)125 3059 y(This)32
+b(pap)r(er)h(in)n(tro)r(duces)f(the)h(primitiv)n(es)g(that)g(ECRS)f
+(uses)h(to)f(ac)n(hiev)n(e)g(these)0 3158 y(goals:)d(a)h(sp)r(eci\014c)
+h(altered)f(v)-5 b(arian)n(t)29 b(of)i(the)g(Con)n(ten)n(t)f(Hash)g
+(Key)g(\(CHK\),)h(a)f(primi-)0 3258 y(tiv)n(e)25 b(used)g(in)h([)p
+0 1 0 TeXcolorrgb 464 3258 a
 SDict begin H.S end
- 3317 2537
-a 0 1 0 TeXcolorrgb FB(5)p 0 1 0 TeXcolorrgb 3359 2483
+ 464 3258 a 0 1 0 TeXcolorrgb
+Fz(5)p 0 1 0 TeXcolorrgb 505 3204 a
+SDict begin H.R end
+ 505 3204 a 505 3258
 a
-SDict begin H.R end
- 3359 2483 a 3359 2537 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.clark99distributed) cvn H.B /ANN pdfmark end
- 3359 2537 a Black FB(],)523
-2637 y(and)e Fu(KBlo)l(cks)p FB(,)h(a)e(no)n(v)n(el)g(construction)g
-(whic)n(h)h(adds)f(functionalit)n(y)h(to)g(the)g(ECRS)f(sc)n(heme)523
-2736 y(while)27 b(a)n(v)n(oiding)e(a)i(prop)r(osed)f(attac)n(k)g(on)g
-(the)i(triple-hash)e(primitiv)n(e)g(used)h(in)h([)p 0 1 0
-TeXcolorrgb 3078 2736 a
+ 505 3258 a Black Fz(],)g(and)f Fs(KBlo)l(cks)p Fz(,)h(a)f(no)n(v)n
+(el)f(construction)h(whic)n(h)g(adds)g(functionalit)n(y)0
+3357 y(to)33 b(the)h(ECRS)g(sc)n(heme)f(while)g(a)n(v)n(oiding)f(a)h
+(prop)r(osed)g(attac)n(k)f(on)i(the)g(triple-hash)0 3457
+y(primitiv)n(e)25 b(used)h(in)f([)p 0 1 0 TeXcolorrgb
+658 3457 a
 SDict begin H.S end
- 3078 2736 a 0 1 0 TeXcolorrgb
-FB(2)p 0 1 0 TeXcolorrgb 3119 2683 a
+ 658 3457 a 0 1 0 TeXcolorrgb Fz(2)p 0 1 0
+TeXcolorrgb 700 3404 a
 SDict begin H.R end
- 3119 2683 a 3119
-2736 a
+ 700 3404 a 700 3457 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.esed) cvn H.B /ANN pdfmark end
- 3119 2736 a Black FB(].)f(These)523 2836 y(primitiv)n(es)k(allo)
-n(w)f(data)g(to)h(b)r(e)h(inserted)e(under)h(m)n(ultiple)h
-(natural-language)c(k)n(eyw)n(ords)523 2935 y(at)g(minimal)h(cost)f(in)
-h(space,)f(and)g(queried)g(using)g(natural)g(language)f(b)r(o)r(olean)h
-(searc)n(hes.)523 3035 y(F)-7 b(urthermore,)27 b(the)i(primitiv)n(es)f
-(giv)n(e)f(ECRS)h(the)h(means)f(to)g(iden)n(tify)-7 b(,)29
-b(encrypt,)f(decrypt)523 3135 y(and)33 b(v)n(erify)f(data,)g(all)h
-(while)g(a)n(v)n(oiding)e(attac)n(ks)g(b)n(y)i(a)f(non-guessing)f(in)n
-(termediate)i(ad-)523 3234 y(v)n(ersary)-7 b(.)29 b(V)-7
-b(eri\014cation)30 b(of)h(con)n(ten)n(t)g(b)n(y)g(in)n(termediate)f
-(hosts)h(is)g(made)g(p)r(ossible)g(without)523 3334 y(rev)n(ealing)i
-(the)i(k)n(eys)f(necessary)f(to)i(decrypt)f(con)n(ten)n(t,)h(and)g(the)
-g(amoun)n(t)f(of)h(data)f(cor-)523 3434 y(ruption)28
-b(an)f(adv)n(ersary)e(can)j(inject)g(b)r(efore)g(b)r(eing)g(detected)g
-(is)g(limited)h(to)e(a)h(small)f(size.)523 3533 y(Additionally)-7
-b(,)34 b(the)g(construction)f(of)h(these)g(primitiv)n(es)g(mak)n(es)e
-(ECRS)i(quite)g(scalable,)523 3633 y(and)24 b(assists)f(the)h(enco)r
-(ding)g(sc)n(heme)g(in)g(encouraging)e(load-balancing,)g(distribution)i
-(and)523 3732 y(replication)i(of)g(con)n(ten)n(t,)g(and)h(sw)n(arming.)
-d(These)j(primitiv)n(es)f(\(and)g(their)h(functionalit)n(y\))523
-3832 y(are)g(describ)r(ed)g(in)h(greater)e(detail)h(later)g(in)h(the)g
-(pap)r(er.)648 4030 y(The)e(rest)f(of)i(the)f(pap)r(er)g(is)g
+ 700 3457
+a Black Fz(].)h(These)f(primitiv)n(es)g(allo)n(w)f(data)h(to)h(b)r(e)g
+(inserted)f(under)g(m)n(ul-)0 3557 y(tiple)e(natural-language)c(k)n
+(eyw)n(ords)h(at)j(minimal)f(cost)g(in)h(space,)e(and)h(queried)g
+(using)0 3656 y(natural)k(language)f(b)r(o)r(olean)i(searc)n(hes.)e(F)
+-7 b(urthermore,)26 b(the)h(primitiv)n(es)f(giv)n(e)g(ECRS)0
+3756 y(the)31 b(means)f(to)g(iden)n(tify)-7 b(,)31 b(encrypt,)g
+(decrypt)f(and)g(v)n(erify)g(data,)g(all)g(while)h(a)n(v)n(oiding)0
+3856 y(attac)n(ks)36 b(b)n(y)g(a)h(non-guessing)e(in)n(termediate)h
+(adv)n(ersary)-7 b(.)34 b(V)-7 b(eri\014cation)37 b(of)f(con)n(ten)n(t)
+0 3955 y(b)n(y)g(in)n(termediate)f(hosts)h(is)g(made)g(p)r(ossible)f
+(without)i(rev)n(ealing)d(the)i(k)n(eys)g(neces-)0 4055
+y(sary)31 b(to)h(decrypt)h(con)n(ten)n(t,)f(and)g(the)h(amoun)n(t)f(of)
+g(data)g(corruption)f(an)i(adv)n(ersary)0 4154 y(can)26
+b(inject)h(b)r(efore)f(b)r(eing)h(detected)f(is)h(limited)g(to)f(a)g
+(small)g(size.)g(Additionally)-7 b(,)27 b(the)0 4254
+y(construction)d(of)g(these)g(primitiv)n(es)g(mak)n(es)g(ECRS)g(quite)h
+(scalable,)e(and)h(assists)g(the)0 4354 y(enco)r(ding)37
+b(sc)n(heme)f(in)h(encouraging)e(load-balancing,)g(distribution)i(and)g
+(replica-)0 4453 y(tion)e(of)f(con)n(ten)n(t,)g(and)h(sw)n(arming.)e
+(These)h(primitiv)n(es)g(\(and)h(their)g(functionalit)n(y\))0
+4553 y(are)27 b(describ)r(ed)g(in)h(greater)e(detail)h(later)g(in)h
+(the)g(pap)r(er.)125 4663 y(The)36 b(rest)f(of)i(the)f(pap)r(er)g(is)g
 (organized)e(as)i(follo)n(ws.)f(Section)p 1 0 0 TeXcolorrgb
-2582 4030 a
+2159 4663 a
 SDict begin H.S end
- 2582 4030 a 1 0 0 TeXcolorrgb FB(2)p 1 0 0
-TeXcolorrgb 2624 3976 a
+ 2159 4663 a 1 0 0 TeXcolorrgb Fz(2)p 1 0 0
+TeXcolorrgb 2201 4609 a
 SDict begin H.R end
- 2624 3976 a 2624 4030 a
+ 2201 4609 a 2201 4663 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(section.1.2) cvn H.B /ANN pdfmark end
- 2624
-4030 a Black 26 w FB(con)n(trasts)f(the)j(curren)n(t)523
-4129 y(w)n(ork)e(with)i(mec)n(hanisms)e(used)h(in)h(other)f
-(censorship-resistan)n(t)d(systems.)j(Section)p 1 0 0
-TeXcolorrgb 3226 4129 a
+(section.2) cvn H.B /ANN pdfmark end
+ 2201
+4663 a Black 36 w Fz(con)n(trasts)g(the)0 4762 y(curren)n(t)30
+b(w)n(ork)g(with)i(mec)n(hanisms)e(used)i(in)f(other)g
+(censorship-resistan)n(t)d(systems.)p Black Black eop
+end
+%%Page: 4 4
+TeXDict begin 4 3 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 17 a
 SDict begin H.S end
- 3226 4129 a 1 0 0 TeXcolorrgb
-FB(3)p 1 0 0 TeXcolorrgb 3268 4076 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 3268 4076 a 3268
-4129 a
+ 0
+17 a 0 17 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark
+end
+ 0 17 a Black Fv(4)917 b(C.)27 b(Grotho\013,)f(K.)g
+(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
+0 248 a Fz(Section)p 1 0 0 TeXcolorrgb 302 248 a
+SDict begin H.S end
+ 302
+248 a 1 0 0 TeXcolorrgb Fz(3)p 1 0 0 TeXcolorrgb 343
+195 a
+SDict begin H.R end
+ 343 195 a 343 248 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(section.1.3) cvn H.B /ANN pdfmark end
- 3268 4129 a Black 26 w FB(de-)523 4229 y(scrib)r(es)j(the)g
-(ECRS)h(enco)r(ding)e(sc)n(heme)h(in)h(detail.)f(Section)p
-1 0 0 TeXcolorrgb 2476 4229 a
+(section.3) cvn H.B /ANN pdfmark end
+ 343 248 a Black 39 w Fz(describ)r(es)38
+b(the)g(ECRS)h(enco)r(ding)f(sc)n(heme)g(in)h(detail.)f(Section)p
+1 0 0 TeXcolorrgb 2491 248 a
 SDict begin H.S end
- 2476 4229 a 1 0 0 TeXcolorrgb
-FB(4)p 1 0 0 TeXcolorrgb 2517 4175 a
+ 2491 248 a 1 0 0 TeXcolorrgb
+Fz(4)p 1 0 0 TeXcolorrgb 2532 195 a
 SDict begin H.R end
- 2517 4175 a 2517
-4229 a
+ 2532 195 a 2532 248
+a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(section.1.4) cvn H.B /ANN pdfmark end
- 2517 4229 a Black 29 w FB(lists)h(some)f(extensions)f(to)523
-4328 y(the)f(basic)g(sc)n(heme.)g(Finally)-7 b(,)27 b(Section)p
-1 0 0 TeXcolorrgb 1768 4328 a
+(section.4) cvn H.B /ANN pdfmark end
+ 2532 248 a Black 39 w Fz(lists)0 348 y(some)24 b(extensions)g(to)g
+(the)h(basic)f(sc)n(heme.)h(Finally)-7 b(,)24 b(Section)p
+1 0 0 TeXcolorrgb 1933 348 a
 SDict begin H.S end
- 1768 4328 a 1 0 0 TeXcolorrgb
-FB(5)p 1 0 0 TeXcolorrgb 1809 4275 a
+ 1933 348 a 1 0 0 TeXcolorrgb
+Fz(5)p 1 0 0 TeXcolorrgb 1974 294 a
 SDict begin H.R end
- 1809 4275 a 1809
-4328 a
+ 1974 294 a 1974 348
+a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(section.1.5) cvn H.B /ANN pdfmark end
- 1809 4328 a Black 27 w FB(discusses)g(attac)n(ks)f(on)g(ECRS)h
-(and)g(con)n(trasts)f(it)523 4428 y(with)i(previous)f(w)n(ork.)648
-4625 y(This)d(w)n(ork)f(builds)h(on)g(our)g(earlier)f(pap)r(er)h([)p
-0 1 0 TeXcolorrgb 2036 4625 a
+(section.5) cvn H.B /ANN pdfmark end
+ 1974 348 a Black 25 w Fz(discusses)g(attac)n(ks)f(on)0
+448 y(ECRS)k(and)h(con)n(trasts)e(it)i(with)g(previous)e(w)n(ork.)125
+550 y(This)33 b(w)n(ork)f(builds)i(on)f(our)g(earlier)f(pap)r(er)h([)p
+0 1 0 TeXcolorrgb 1577 550 a
 SDict begin H.S end
- 2036 4625 a 0 1 0 TeXcolorrgb
-FB(2)p 0 1 0 TeXcolorrgb 2077 4572 a
+ 1577 550 a 0 1 0 TeXcolorrgb
+Fz(2)p 0 1 0 TeXcolorrgb 1618 497 a
 SDict begin H.R end
- 2077 4572 a 2077
-4625 a
+ 1618 497 a 1618 550
+a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.esed) cvn H.B /ANN pdfmark end
- 2077 4625 a Black FB(])h(whic)n(h)f(w)n(as)f(\014rst)h
-(published)h(at)f(A)n(CISP)523 4725 y(2001.)33 b(Since)h(then,)h(the)g
-(enco)r(ding)f(sc)n(heme)g(has)g(b)r(een)h(revised)e(to)h(address)g
-(additional)523 4825 y(requiremen)n(ts)29 b(an)h(to)h(impro)n(v)n(e)e
-(the)i(securit)n(y)e(in)i(v)-5 b(arious)29 b(asp)r(ects.)h(This)h(pap)r
-(er)f(re\015ects)523 4924 y(these)e(c)n(hanges.)p Black
-Black eop end
-%%Page: 4 4
-TeXDict begin 4 3 bop 0 0 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- 0 0 a Black 0 TeXcolorgray
-523 232 a
+ 1618 550 a Black Fz(])h(whic)n(h)f(w)n(as)g(\014rst)g(published)h(at)
+0 650 y(A)n(CISP)29 b(2001.)f(Since)h(then,)h(the)g(enco)r(ding)f(sc)n
+(heme)g(has)g(b)r(een)g(revised)g(to)g(address)0 749
+y(additional)d(requiremen)n(ts)f(an)h(to)g(impro)n(v)n(e)f(the)i
+(securit)n(y)e(in)i(v)-5 b(arious)25 b(asp)r(ects.)h(This)0
+849 y(pap)r(er)h(re\015ects)g(these)h(c)n(hanges.)0 1064
+y
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
-SDict begin H.R end
- 523 232 a 523 232 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark
-end
- 523 232 a Black Fy(4)237 b(C.)27
-b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
-Black 523 365 a
-SDict begin H.S end
- 523 365 a 523 365 a
+ 0 1064 a 0 1064 a
 SDict begin 12 H.A end
- 523 365 a 523 365
-a
-SDict begin [ /View [/XYZ H.V] /Dest (section.1.2) cvn H.B /DEST pdfmark
+ 0 1064 a 0 1064 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.2) cvn H.B /DEST pdfmark
 end
- 523 365 a 83 x Fv(2)112 b(Related)38 b(W)-9 b(ork)523
-669 y FB(A)40 b(large)f(n)n(um)n(b)r(er)g(of)h(censorship-resistan)n(t)
-d(\(or)j(at)f(least)h(fault-toleran)n(t\))f(publishing)523
-768 y(systems)30 b(ha)n(v)n(e)f(b)r(een)h(prop)r(osed)f(in)i(recen)n(t)
-e(y)n(ears)g([)p 0 1 0 TeXcolorrgb 2170 768 a
+ 0 1064 a 86 x FA(2)f(Related)k(W)
+-8 b(ork)0 1358 y Fz(A)31 b(large)e(n)n(um)n(b)r(er)h(of)h
+(censorship-resistan)n(t)d(\(or)h(at)i(least)f(fault-toleran)n(t\))g
+(publish-)0 1458 y(ing)f(systems)f(ha)n(v)n(e)g(b)r(een)i(prop)r(osed)e
+(in)h(recen)n(t)g(y)n(ears)e([)p 0 1 0 TeXcolorrgb 1779
+1458 a
 SDict begin H.S end
- 2170 768
-a 0 1 0 TeXcolorrgb FB(1)p 0 1 0 TeXcolorrgb 2211 715
-a
+ 1779 1458 a 0 1 0 TeXcolorrgb Fz(1)p 0 1 0 TeXcolorrgb
+1820 1404 a
 SDict begin H.R end
- 2211 715 a 2211 768 a
+ 1820 1404 a 1820 1458 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.anderson96eternity) cvn H.B /ANN pdfmark end
- 2211 768 a Black FB(,)p 0 1 0
-TeXcolorrgb 2234 768 a
+ 1820 1458 a Black
+Fz(,)p 0 1 0 TeXcolorrgb 1851 1458 a
 SDict begin H.S end
- 2234 768 a 0 1 0 TeXcolorrgb FB(4)p
-0 1 0 TeXcolorrgb 2276 715 a
+ 1851 1458 a 0 1 0
+TeXcolorrgb Fz(4)p 0 1 0 TeXcolorrgb 1893 1404 a
 SDict begin H.R end
- 2276 715 a 2276 768 a
+ 1893
+1404 a 1893 1458 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.chen99prototype) cvn H.B /ANN pdfmark end
- 2276
-768 a Black FB(,)p 0 1 0 TeXcolorrgb 2299 768 a
+ 1893 1458 a Black Fz(,)p 0 1 0 TeXcolorrgb
+1924 1458 a
 SDict begin H.S end
- 2299
-768 a 0 1 0 TeXcolorrgb FB(5)p 0 1 0 TeXcolorrgb 2341
-715 a
+ 1924 1458 a 0 1 0 TeXcolorrgb Fz(5)p 0 1 0
+TeXcolorrgb 1966 1404 a
 SDict begin H.R end
- 2341 715 a 2341 768 a
+ 1966 1404 a 1966 1458 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.clark99distributed) cvn H.B /ANN pdfmark end
- 2341 768 a Black FB(,)p 0 1 0
-TeXcolorrgb 2364 768 a
+ 1966
+1458 a Black Fz(,)p 0 1 0 TeXcolorrgb 1997 1458 a
 SDict begin H.S end
- 2364 768 a 0 1 0 TeXcolorrgb FB(9)p
-0 1 0 TeXcolorrgb 2405 715 a
+ 1997
+1458 a 0 1 0 TeXcolorrgb Fz(9)p 0 1 0 TeXcolorrgb 2039
+1404 a
 SDict begin H.R end
- 2405 715 a 2405 768 a
+ 2039 1404 a 2039 1458 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.freehaven-berk) cvn H.B /ANN pdfmark end
- 2405
-768 a Black FB(,)p 0 1 0 TeXcolorrgb 2428 768 a
+ 2039 1458 a Black Fz(,)p
+0 1 0 TeXcolorrgb 2070 1458 a
 SDict begin H.S end
- 2428
-768 a 0 1 0 TeXcolorrgb FB(11)p 0 1 0 TeXcolorrgb 2511
-715 a
+ 2070 1458 a 0 1 0 TeXcolorrgb
+Fz(11)p 0 1 0 TeXcolorrgb 2153 1404 a
 SDict begin H.R end
- 2511 715 a 2511 768 a
+ 2153 1404 a 2153
+1458 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.feamster-infranet) cvn H.B /ANN pdfmark end
- 2511 768 a Black FB(,)p 0 1 0
-TeXcolorrgb 2534 768 a
+ 2153 1458 a Black Fz(,)p 0 1 0 TeXcolorrgb 2184
+1458 a
 SDict begin H.S end
- 2534 768 a 0 1 0 TeXcolorrgb FB(16)p
-0 1 0 TeXcolorrgb 2617 715 a
+ 2184 1458 a 0 1 0 TeXcolorrgb Fz(16)p 0 1 0 TeXcolorrgb
+2268 1404 a
 SDict begin H.R end
- 2617 715 a 2617 768 a
+ 2268 1404 a 2268 1458 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.herlihy87how) cvn H.B /ANN pdfmark end
- 2617
-768 a Black FB(,)p 0 1 0 TeXcolorrgb 2640 768 a
+ 2268 1458 a Black
+Fz(,)p 0 1 0 TeXcolorrgb 2299 1458 a
 SDict begin H.S end
- 2640
-768 a 0 1 0 TeXcolorrgb FB(31)p 0 1 0 TeXcolorrgb 2723
-715 a
+ 2299 1458 a 0 1 0
+TeXcolorrgb Fz(31)p 0 1 0 TeXcolorrgb 2382 1404 a
 SDict begin H.R end
- 2723 715 a 2723 768 a
+ 2382
+1404 a 2382 1458 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.waldman2001tangler) cvn H.B /ANN pdfmark end
- 2723 768 a Black FB(,)p 0 1 0
-TeXcolorrgb 2746 768 a
+ 2382 1458 a Black Fz(,)p 0 1 0 TeXcolorrgb
+2413 1458 a
 SDict begin H.S end
- 2746 768 a 0 1 0 TeXcolorrgb FB(32)p
-0 1 0 TeXcolorrgb 2829 715 a
+ 2413 1458 a 0 1 0 TeXcolorrgb Fz(32)p 0 1 0
+TeXcolorrgb 2497 1404 a
 SDict begin H.R end
- 2829 715 a 2829 768 a
+ 2497 1404 a 2497 1458 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.pub00) cvn H.B /ANN pdfmark end
- 2829
-768 a Black FB(].)i(The)f(prop)r(osed)523 868 y(proto)r(cols)18
-b(di\013er)i(in)g(v)-5 b(arious)18 b(asp)r(ects)h(unrelated)g(to)h(the)
-f(sp)r(eci\014cs)h(of)f(the)h(enco)r(ding)f(mec)n(h-)523
-968 y(anism,)28 b(suc)n(h)g(as)f(con)n(ten)n(t)h(replication)f(and)h
-(the)g(use)g(of)g(anon)n(ymous)e(or)i(steganographic)523
-1067 y(comm)n(unication.)33 b(Characteristic)g(of)h(all)g(of)g(these)g
-(systems)f(is)h(the)h(use)f(of)g(replication)523 1167
-y(and)i(the)h(need)f(to)h(ensure)e(data)h(in)n(tegrit)n(y)-7
-b(.)36 b(F)-7 b(or)35 b(an)h(o)n(v)n(erview)f(of)h(con)n(ten)n(t)g
-(replication)523 1266 y(strategies)26 b(see)h([)p 0 1 0
-TeXcolorrgb 1050 1266 a
+ 2497
+1458 a Black Fz(].)i(The)0 1557 y(prop)r(osed)24 b(proto)r(cols)g
+(di\013er)h(in)g(v)-5 b(arious)24 b(asp)r(ects)h(unrelated)g(to)g(the)g
+(sp)r(eci\014cs)g(of)h(the)0 1657 y(enco)r(ding)e(mec)n(hanism,)h(suc)n
+(h)f(as)h(con)n(ten)n(t)f(replication)g(and)h(the)g(use)g(of)f(anon)n
+(ymous)0 1757 y(or)30 b(steganographic)e(comm)n(unication.)h
+(Characteristic)g(of)i(all)f(of)g(these)h(systems)f(is)0
+1856 y(the)24 b(use)f(of)h(replication)e(and)i(the)f(need)h(to)f
+(ensure)g(data)g(in)n(tegrit)n(y)-7 b(.)23 b(F)-7 b(or)23
+b(an)g(o)n(v)n(erview)0 1956 y(of)h(con)n(ten)n(t)f(replication)h
+(strategies)e(see)i([)p 0 1 0 TeXcolorrgb 1310 1956 a
 SDict begin H.S end
- 1050 1266 a 0 1 0 TeXcolorrgb
-FB(6)p 0 1 0 TeXcolorrgb 1091 1213 a
+
+1310 1956 a 0 1 0 TeXcolorrgb Fz(6)p 0 1 0 TeXcolorrgb
+1351 1902 a
 SDict begin H.R end
- 1091 1213 a 1091
-1266 a
+ 1351 1902 a 1351 1956 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.cohen02replication) cvn H.B /ANN pdfmark end
- 1091 1266 a Black FB(].)h(The)f(censorship-resistan)n(t)e
-(systems)i(all)g(use)g(some)g(form)g(of)g(con)n(ten)n(t)523
-1366 y(enco)r(ding)g(to)h(hide)g(the)g(sp)r(eci\014cs)f(of)h(the)g(con)
-n(ten)n(t)f(from)g(the)h(serv)n(ers.)523 1548 y
+ 1351 1956 a Black
+Fz(].)g(The)g(censorship-resistan)n(t)e(systems)h(all)0
+2056 y(use)j(some)g(form)g(of)g(con)n(ten)n(t)g(enco)r(ding)f(to)h
+(hide)h(the)g(sp)r(eci\014cs)f(of)g(the)g(con)n(ten)n(t)g(from)0
+2155 y(the)i(serv)n(ers.)0 2354 y
 SDict begin H.S end
- 523 1548
-a 523 1548 a
+ 0 2354 a 0 2354 a
 SDict begin 12 H.A end
- 523 1548 a 523 1548 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.1) cvn H.B /DEST
+ 0
+2354 a 0 2354 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.1) cvn H.B /DEST
 pdfmark end
- 523 1548 a 88 x Fs(2.1)95
-b(F)-8 b(reenet)523 1823 y FB(The)30 b(main)f(con)n(ten)n(t)h(enco)r
-(ding)f(sc)n(heme)g(used)h(in)g(F)-7 b(reenet)30 b([)p
-0 1 0 TeXcolorrgb 2452 1823 a
+ 0 2354 a 102 x Fs(2.1)h(F)-6 b(r)l(e)l(enet)0
+2664 y Fz(The)41 b(main)g(con)n(ten)n(t)g(enco)r(ding)g(sc)n(heme)f
+(used)i(in)f(F)-7 b(reenet)41 b([)p 0 1 0 TeXcolorrgb
+2020 2664 a
 SDict begin H.S end
- 2452 1823 a 0 1 0 TeXcolorrgb
-FB(5)p 0 1 0 TeXcolorrgb 2493 1770 a
+ 2020 2664 a 0 1 0 TeXcolorrgb Fz(5)p 0 1 0
+TeXcolorrgb 2062 2611 a
 SDict begin H.R end
- 2493 1770 a 2493
-1823 a
+ 2062 2611 a 2062 2664 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.clark99distributed) cvn H.B /ANN pdfmark end
- 2493 1823 a Black FB(])g(uses)f(CHKs:)h(the)g(hash)f(of)523
-1923 y(the)e(con)n(ten)n(t)f(is)g(used)g(as)g(the)g(k)n(ey)-7
-b(.)26 b(F)-7 b(reenet)26 b(has)g(sev)n(eral)e(other)i(t)n(yp)r(es)g
-(of)g(k)n(eys)g(whic)n(h)g(are)523 2023 y(used)e(to)f(refer)g(the)h
-(user)f(to)g(con)n(ten)n(t-hash)g(k)n(eys.)f(These)i(di\013eren)n(t)f
-(k)n(ey)g(t)n(yp)r(es)h(are)f(used)g(to)523 2122 y(allo)n(w)e
-(additional)h(features)g(suc)n(h)g(as)g(con)n(ten)n(t)g(signing,)g(p)r
-(ersonal)f(namespaces)h(and)g(split-)523 2222 y(ting)28
-b(of)g(con)n(ten)n(t.)f(F)-7 b(reenet's)28 b(CHK)g(yields)f(the)i(same)
-e(encrypted)g(data)h(for)f(indep)r(enden)n(t)523 2321
-y(encryptions.)g(Ho)n(w)n(ev)n(er,)f(it)i(has)f(sev)n(eral)e(disadv)-5
-b(an)n(tages.)648 2425 y(One)31 b(dra)n(wbac)n(k)g(of)h(F)-7
-b(reenet's)32 b(CHK)g(is)g(that)g(it)h(do)r(es)f(not)g(allo)n(w)f
-(direct)h(sharing)f(of)523 2525 y(\014les)c(from)f(the)h(lo)r(cal)g
-(driv)n(e)e(without)j(encrypting)e(and)g(inserting)h(them)g(\014rst.)g
-(Th)n(us,)f(if)h(a)523 2625 y(no)r(de)22 b(op)r(erator)f(wishes)h(to)g
-(k)n(eep)g(con)n(ten)n(t)g(directly)g(accessible)f(on)h(the)h(host,)f
-(a)g(lo)r(cal)g(cop)n(y)523 2724 y(of)h(the)g(plain)n(text)g(m)n(ust)g
-(b)r(e)g(k)n(ept)f(in)h(addition)g(to)g(the)g(encrypted)f(con)n(ten)n
-(t)h(in)g(the)g(F)-7 b(reenet)523 2824 y(database.)27
-b(Also,)h(F)-7 b(reenet)29 b(do)r(es)f(not)g(supp)r(ort)g(sw)n(arming.)
-f(One)h(reason)f(for)h(this)g(is)h(that)523 2923 y(F)-7
-b(reenet's)30 b(CHK)h(enco)r(ding)f(can)g(only)g(v)n(erify)g(a)g
-(\014le)h(in)f(its)h(en)n(tiret)n(y)f(and)g(not)h(pin-p)r(oin)n(t)523
-3023 y(corruptions)26 b(on)h(a)h(smaller)e(scale.)648
-3127 y(One)33 b(w)n(a)n(y)f(to)i(obtain)f(the)i(CHK)e(k)n(ey)g(of)h(a)f
-(\014le)h(in)g(F)-7 b(reenet)34 b(is)f(to)h(searc)n(h)e(a)h(priv)-5
-b(ate)523 3226 y(subspace.)27 b(A)h(subspace)f(con)n(tains)f(a)i(set)f
-(of)h(CHK)f(k)n(eys)g(that)h(ha)n(v)n(e)e(b)r(een)i(cryptographi-)523
-3326 y(cally)e(signed)h(b)n(y)g(the)g(o)n(wner)f(of)h(the)g(subspace)g
-(and)f(placed)h(in)n(to)g(the)g(subspace)g(under)f(a)523
-3426 y(certain)e(k)n(eyw)n(ord.)g(These)g(signed)h(references)f(are)f
-(called)i(subspace-signed)e(k)n(eys)h(\(SSK\).)523 3525
-y(Giv)n(en)i(the)g(subspace-pre\014x)e(and)h(the)i(k)n(eyw)n(ord,)c
-(users)i(can)h(obtain)f(the)h(CHK)g(k)n(ey)-7 b(.)25
-b(The)523 3625 y(form)d(of)g(the)g(k)n(eyw)n(ords)e(can)i(b)r(e)h
-(freely)e(c)n(hosen,)h(allo)n(wing)e(for)i(con)n(v)n(en)n(tions)e(suc)n
-(h)i(as)f(dates)523 3725 y(in)j(the)h(k)n(eyw)n(ord)d(to)i(b)r(e)h
-(used)f(for)g(up)r(dates)g(\(in)h(F)-7 b(reenet's)24
-b(terminology)-7 b(,)23 b(these)h(are)f(called)523 3824
-y(\\date)k(based)g(redirects"\).)648 3928 y(In)g(addition)h(to)f(CHK)g
-(and)g(SSK)h(k)n(eys,)e(F)-7 b(reenet)28 b(supp)r(orts)f(KSK)g(k)n
-(eys.)f(A)i(KSK)f(k)n(ey)523 4028 y(is)j(essen)n(tially)f(a)g(CHK)h(k)n
-(ey)g(stored)f(in)h(plain)n(text)g(\(!\))h(under)e(a)h(k)n(eyw)n(ord.)e
-(The)i(proto)r(col)523 4127 y(attempts)25 b(to)f(ensure)g(that)g(there)
-h(cannot)e(b)r(e)i(t)n(w)n(o)f(di\013eren)n(t)g(CHK)h(k)n(eys)e(a)n(v)
--5 b(ailable)23 b(in)i(the)523 4227 y(net)n(w)n(ork)g(under)h(the)h
-(same)f(k)n(eyw)n(ord.)e(While)j(collisions)e(for)h(KSK)g(k)n(eys)f
-(are)g(supp)r(osedly)523 4327 y(not)36 b(allo)n(w)n(ed,)e(the)i(proto)r
-(col)e(cannot)h(prev)n(en)n(t)g(them)h(from)f(o)r(ccurring.)g(If)h(an)f
-(attac)n(k)n(er)523 4426 y(inserts)27 b(meaningless)f(data)h(under)g(a)
-g(common)g(k)n(eyw)n(ord,)e(F)-7 b(reenet)27 b(will)h(try)f(to)g
-(preserv)n(e)523 4526 y(that)g(con)n(ten)n(t)g(b)r(ecause)f(it)h(is)g
-(frequen)n(tly)f(requested.)h(Subsequen)n(tly)-7 b(,)26
-b(that)h(k)n(eyw)n(ord)e(can)523 4625 y(no)h(longer)f(b)r(e)i(used)f
-(for)g(an)n(y)f(useful)i(data)f(since)g(the)g(p)r(eers)g(attempt)h(to)f
-(enforce)g(the)h(no-)523 4725 y(collisions)j(rule.)h(Note)g(that)g(the)
-h(no-collision)d(rule)i(cannot)f(b)r(e)i(enforced)e(for)h(malicious)523
-4825 y(p)r(eers.)h(F)-7 b(or)32 b(these)h(reasons,)e(the)i(F)-7
-b(reenet)33 b(dev)n(elop)r(ers)e(consider)h(the)h(use)f(of)h(KSK)f(k)n
-(eys)523 4924 y(insecure)27 b(and)g(recommend)g(against)g(using)g
-(them.)p Black Black eop end
+ 2062
+2664 a Black Fz(])g(uses)g(CHKs:)g(the)0 2764 y(hash)33
+b(of)h(the)g(con)n(ten)n(t)f(is)g(used)h(as)e(the)i(k)n(ey)-7
+b(.)33 b(F)-7 b(reenet)34 b(has)f(sev)n(eral)f(other)g(t)n(yp)r(es)i
+(of)0 2864 y(k)n(eys)28 b(whic)n(h)h(are)f(used)h(to)g(refer)f(the)i
+(user)e(to)h(con)n(ten)n(t-hash)f(k)n(eys.)g(These)h(di\013eren)n(t)0
+2963 y(k)n(ey)39 b(t)n(yp)r(es)h(are)f(used)h(to)g(allo)n(w)f
+(additional)g(features)g(suc)n(h)h(as)f(con)n(ten)n(t)h(signing,)0
+3063 y(p)r(ersonal)g(namespaces)f(and)i(splitting)g(of)f(con)n(ten)n
+(t.)h(F)-7 b(reenet's)40 b(CHK)h(yields)g(the)0 3162
+y(same)31 b(encrypted)g(data)f(for)h(indep)r(enden)n(t)h(encryptions.)e
+(Ho)n(w)n(ev)n(er,)f(it)j(has)f(sev)n(eral)0 3262 y(disadv)-5
+b(an)n(tages.)125 3365 y(One)26 b(dra)n(wbac)n(k)e(of)j(F)-7
+b(reenet's)26 b(CHK)g(is)h(that)g(it)g(do)r(es)f(not)g(allo)n(w)g
+(direct)g(sharing)0 3464 y(of)37 b(\014les)g(from)g(the)h(lo)r(cal)f
+(driv)n(e)f(without)i(encrypting)e(and)i(inserting)e(them)i(\014rst.)0
+3564 y(Th)n(us,)31 b(if)i(a)e(no)r(de)g(op)r(erator)f(wishes)h(to)h(k)n
+(eep)f(con)n(ten)n(t)g(directly)h(accessible)e(on)i(the)0
+3664 y(host,)23 b(a)f(lo)r(cal)h(cop)n(y)f(of)h(the)g(plain)n(text)g(m)
+n(ust)g(b)r(e)g(k)n(ept)g(in)g(addition)g(to)g(the)g(encrypted)0
+3763 y(con)n(ten)n(t)k(in)g(the)h(F)-7 b(reenet)27 b(database.)g(Also,)
+g(F)-7 b(reenet)27 b(do)r(es)g(not)g(supp)r(ort)g(sw)n(arming.)0
+3863 y(One)f(reason)e(for)h(this)h(is)g(that)g(F)-7 b(reenet's)26
+b(CHK)g(enco)r(ding)f(can)h(only)f(v)n(erify)g(a)h(\014le)g(in)0
+3962 y(its)i(en)n(tiret)n(y)f(and)g(not)h(pin-p)r(oin)n(t)g
+(corruptions)e(on)h(a)g(smaller)g(scale.)125 4065 y(One)22
+b(w)n(a)n(y)h(to)g(obtain)g(the)g(CHK)g(k)n(ey)g(of)g(a)g(\014le)h(in)f
+(F)-7 b(reenet)23 b(is)g(to)h(searc)n(h)d(a)i(priv)-5
+b(ate)0 4165 y(subspace.)32 b(A)h(subspace)g(con)n(tains)f(a)g(set)h
+(of)g(CHK)g(k)n(eys)f(that)h(ha)n(v)n(e)f(b)r(een)h(crypto-)0
+4264 y(graphically)17 b(signed)i(b)n(y)g(the)g(o)n(wner)f(of)h(the)h
+(subspace)e(and)h(placed)g(in)n(to)g(the)h(subspace)0
+4364 y(under)j(a)g(certain)f(k)n(eyw)n(ord.)f(These)i(signed)g
+(references)f(are)g(called)h(subspace-signed)0 4464 y(k)n(eys)32
+b(\(SSK\).)h(Giv)n(en)f(the)h(subspace-pre\014x)e(and)i(the)g(k)n(eyw)n
+(ord,)d(users)i(can)g(obtain)0 4563 y(the)e(CHK)f(k)n(ey)-7
+b(.)29 b(The)g(form)g(of)g(the)h(k)n(eyw)n(ords)d(can)i(b)r(e)g(freely)
+g(c)n(hosen,)g(allo)n(wing)e(for)0 4663 y(con)n(v)n(en)n(tions)18
+b(suc)n(h)h(as)g(dates)g(in)h(the)g(k)n(eyw)n(ord)e(to)h(b)r(e)h(used)g
+(for)f(up)r(dates)h(\(in)g(F)-7 b(reenet's)0 4762 y(terminology)g(,)26
+b(these)i(are)f(called)g(\\date)g(based)g(redirects"\).)p
+Black Black eop end
 %%Page: 5 5
 TeXDict begin 5 4 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -6210,165 +6218,134 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark
 end
- 523 232 a Black 1036 w Fy(An)25
-b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)238
-b(5)p Black 648 448 a FB(As)29 b(a)f(result,)h(F)-7 b(reenet)29
-b(e\013ectiv)n(ely)g(do)r(es)g(not)g(supp)r(ort)f(an)n(y)h(t)n(yp)r(e)g
-(of)g(k)n(eyw)n(ord-based)523 548 y(searc)n(h.)22 b(The)i(CHK)g(k)n
-(eys)e(m)n(ust)i(b)r(e)g(found)g(b)n(y)g(using)f(k)n(eyserv)n(ers)e(or)
-i(ad-ho)r(c)g(applications)523 648 y(built)h(up)r(on)g(the)f(basic)g
-(solution)g(b)n(y)g(using)g(incremen)n(tal)g(n)n(um)n(b)r(ers)g(as)f
-(parts)h(of)g(k)n(eyw)n(ords)523 747 y(in)f(signed)f(namespaces.)f(The)
-i(disadv)-5 b(an)n(tage)20 b(of)i(k)n(eyserv)n(ers)c(is)k(that)g(they)g
-(m)n(ust)f(b)r(e)h(main-)523 847 y(tained)31 b(if)g(the)g(indexed)g(k)n
-(eys)f(are)g(to)h(b)r(e)g(k)n(ept)f(up-to-date.)h(F)-7
-b(reenet)30 b(do)r(es)h(not)g(seem)f(to)523 946 y(use)g(an)n(y)f
-(encryption)h(for)f(the)i(data)f(stored)f(in)h(KSK)g(or)f(SKS)h(k)n
-(eys)f(and)h(therefore)f(fails)523 1046 y(to)36 b(prev)n(en)n(t)f(in)n
-(termediaries)g(from)g(learning)g(the)h(CHK)g(k)n(eys,)f(making)h
-(censorship)e(b)n(y)523 1146 y(in)n(termediaries)26 b(easier.)523
-1269 y
+ 0 17 a Black Fv(An)25 b(Enco)r(ding)h(for)h
+(Censorship-Resistan)n(t)f(Sharing)1106 b(5)p Black 125
+248 a Fz(In)26 b(addition)g(to)f(CHK)h(and)g(SSK)g(k)n(eys,)f(F)-7
+b(reenet)26 b(supp)r(orts)g(KSK)f(k)n(eys.)g(A)i(KSK)0
+348 y(k)n(ey)j(is)g(essen)n(tially)g(a)g(CHK)h(k)n(ey)f(stored)g(in)g
+(plain)n(text)h(\(!\))g(under)g(a)f(k)n(eyw)n(ord.)f(The)0
+448 y(proto)r(col)i(attempts)h(to)g(ensure)f(that)h(there)g(cannot)f(b)
+r(e)h(t)n(w)n(o)f(di\013eren)n(t)h(CHK)g(k)n(eys)0 547
+y(a)n(v)-5 b(ailable)25 b(in)h(the)h(net)n(w)n(ork)e(under)h(the)g
+(same)g(k)n(eyw)n(ord.)e(While)j(collisions)e(for)h(KSK)0
+647 y(k)n(eys)35 b(are)g(supp)r(osedly)h(not)f(allo)n(w)n(ed,)g(the)h
+(proto)r(col)f(cannot)h(prev)n(en)n(t)f(them)h(from)0
+746 y(o)r(ccurring.)20 b(If)h(an)g(attac)n(k)n(er)e(inserts)i
+(meaningless)f(data)h(under)f(a)h(common)g(k)n(eyw)n(ord,)0
+846 y(F)-7 b(reenet)27 b(will)g(try)f(to)h(preserv)n(e)e(that)i(con)n
+(ten)n(t)g(b)r(ecause)f(it)h(is)g(frequen)n(tly)f(requested.)0
+946 y(Subsequen)n(tly)-7 b(,)26 b(that)g(k)n(eyw)n(ord)e(can)i(no)f
+(longer)g(b)r(e)h(used)g(for)f(an)n(y)g(useful)i(data)e(since)0
+1045 y(the)c(p)r(eers)f(attempt)i(to)e(enforce)g(the)h(no-collisions)e
+(rule.)i(Note)f(that)h(the)g(no-collision)0 1145 y(rule)29
+b(cannot)f(b)r(e)h(enforced)g(for)f(malicious)g(p)r(eers.)h(F)-7
+b(or)28 b(these)h(reasons,)f(the)h(F)-7 b(reenet)0 1245
+y(dev)n(elop)r(ers)30 b(consider)g(the)i(use)g(of)f(KSK)g(k)n(eys)f
+(insecure)h(and)g(recommend)g(against)0 1344 y(using)c(them.)125
+1447 y(As)32 b(a)g(result,)g(F)-7 b(reenet)32 b(e\013ectiv)n(ely)g(do)r
+(es)g(not)h(supp)r(ort)f(an)n(y)f(t)n(yp)r(e)i(of)f(k)n(eyw)n(ord-)0
+1547 y(based)d(searc)n(h.)e(The)i(CHK)g(k)n(eys)f(m)n(ust)h(b)r(e)h
+(found)f(b)n(y)g(using)f(k)n(eyserv)n(ers)f(or)h(ad-ho)r(c)0
+1646 y(applications)d(built)j(up)r(on)e(the)h(basic)f(solution)g(b)n(y)
+g(using)g(incremen)n(tal)g(n)n(um)n(b)r(ers)g(as)0 1746
+y(parts)i(of)h(k)n(eyw)n(ords)e(in)i(signed)g(namespaces.)f(The)h
+(disadv)-5 b(an)n(tage)27 b(of)i(k)n(eyserv)n(ers)d(is)0
+1845 y(that)e(they)g(m)n(ust)g(b)r(e)g(main)n(tained)g(if)g(the)g
+(indexed)g(k)n(eys)f(are)g(to)h(b)r(e)g(k)n(ept)g(up-to-date.)0
+1945 y(F)-7 b(reenet)34 b(do)r(es)g(not)g(seem)g(to)g(use)g(an)n(y)f
+(encryption)g(for)h(the)g(data)g(stored)f(in)i(KSK)0
+2045 y(or)26 b(SKS)h(k)n(eys)f(and)h(therefore)g(fails)g(to)g(prev)n
+(en)n(t)f(in)n(termediaries)g(from)g(learning)h(the)0
+2144 y(CHK)g(k)n(eys,)g(making)g(censorship)f(b)n(y)i(in)n
+(termediaries)e(easier.)0 2360 y
 SDict begin H.S end
- 523 1269 a 523 1269 a
+ 0 2360 a 0 2360 a
 SDict begin 12 H.A end
- 523 1269 a 523 1269 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.2) cvn H.B /DEST
+ 0
+2360 a 0 2360 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.2) cvn H.B /DEST
 pdfmark end
- 523
-1269 a 100 x Fs(2.2)95 b(F)-8 b(ree)31 b(Ha)m(v)m(en)523
-1509 y FB(In)24 b(F)-7 b(ree)24 b(Ha)n(v)n(en)f([)p 0 1 0
-TeXcolorrgb 1074 1509 a
+ 0 2360 a 86 x Fs(2.2)j(F)-6 b(r)l(e)l(e)29
+b(Haven)0 2655 y Fz(In)h(F)-7 b(ree)30 b(Ha)n(v)n(en)f([)p
+0 1 0 TeXcolorrgb 569 2655 a
 SDict begin H.S end
- 1074 1509 a 0 1 0 TeXcolorrgb
-FB(9)p 0 1 0 TeXcolorrgb 1115 1455 a
+ 569 2655 a 0 1 0 TeXcolorrgb
+Fz(9)p 0 1 0 TeXcolorrgb 611 2601 a
 SDict begin H.R end
- 1115 1455 a 1115
-1509 a
+ 611 2601 a 611 2655
+a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.freehaven-berk) cvn H.B /ANN pdfmark end
- 1115 1509 a Black FB(],)i(do)r(cumen)n(ts)f(are)e(split)j(in)n
-(to)f Ft(n)f FB(shares)g(whic)n(h)h(are)f(distributed)h(o)n(v)n(er)e(a)
-523 1608 y(n)n(um)n(b)r(er)27 b(of)g(serv)n(ers.)f(An)n(y)h
-Ft(k)j FB(out)d(of)h Ft(n)f FB(shares)f(are)g(su\016cien)n(t)h(to)h
-(reconstruct)e(the)h(en)n(tire)523 1708 y(do)r(cumen)n(t)j([)p
-0 1 0 TeXcolorrgb 931 1708 a
+ 611 2655 a Black Fz(],)h(do)r(cumen)n(ts)g(are)f(split)h(in)n(to)g
+Fr(n)g Fz(shares)e(whic)n(h)i(are)f(distributed)0 2754
+y(o)n(v)n(er)23 b(a)h(n)n(um)n(b)r(er)g(of)h(serv)n(ers.)d(An)n(y)j
+Fr(k)i Fz(out)e(of)g Fr(n)f Fz(shares)f(are)h(su\016cien)n(t)h(to)f
+(reconstruct)0 2854 y(the)i(en)n(tire)g(do)r(cumen)n(t)g([)p
+0 1 0 TeXcolorrgb 777 2854 a
 SDict begin H.S end
- 931 1708 a 0 1 0 TeXcolorrgb
-FB(25)p 0 1 0 TeXcolorrgb 1015 1654 a
+ 777 2854 a 0 1 0 TeXcolorrgb
+Fz(25)p 0 1 0 TeXcolorrgb 860 2801 a
 SDict begin H.R end
- 1015 1654 a 1015
-1708 a
+ 860 2801 a 860 2854
+a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.rabin89efficient) cvn H.B /ANN pdfmark end
- 1015 1708 a Black FB(].)g(T)-7 b(o)30 b(retriev)n(e)f(a)g(do)r
-(cumen)n(t,)i(the)g(user)e(m)n(ust)h(obtain)g(the)h(k)n(ey)f(that)g(w)n
-(as)523 1807 y(used)j(to)f(sign)g(the)h(do)r(cumen)n(t)g(from)f(some)g
-(source)f(outside)i(the)g(F)-7 b(ree)32 b(Ha)n(v)n(en)f(net)n(w)n(ork.)
-523 1907 y(The)i(design)f(of)g(F)-7 b(ree)32 b(Ha)n(v)n(en)g(itself)h
-(do)r(es)f(not)h(discuss)f(an)n(y)f(searc)n(h)g(functionalit)n(y)-7
-b(.)33 b(The)523 2007 y(user)d(then)h(forw)n(ards)e(the)i(k)n(ey)g(to)f
-(the)h(serv)n(er)e(whic)n(h)i(encrypts)f(and)h(sends)f(its)h(share)f
-(of)523 2106 y(the)e(do)r(cumen)n(t.)648 2206 y(Shares)21
-b(are)g(enco)r(ded)i(with)g(an)f(information)g(disp)r(ersal)f
-(algorithm)g(\(ID)n(A\).)j(Hosts)e(are)523 2306 y(still)34
-b(able)f(to)h(exercise)e(editorial)h(con)n(trol)f(o)n(v)n(er)g(the)i
-(con)n(ten)n(t)f(since)h(the)g(ID)n(A)g(do)r(es)f(not)523
-2405 y(prev)n(en)n(t)f(hosts)f(from)h(deco)r(ding)g(parts)g(of)g(the)h
-(plain)n(text.)f(Also,)g(the)h Ft(k)i FB(out)e(of)f Ft(n)g
-FB(share)523 2505 y(reconstruction)f(sc)n(heme)g(do)r(es)h(not)g(allo)n
-(w)f(reconstruction)f(of)i(a)g(\014le)g(b)n(y)g(mixing)f(shares)523
-2605 y(from)c(indep)r(enden)n(t)i(insertions)e(with)h(di\013eren)n(t)f
-(v)-5 b(alues)28 b(for)f Ft(k)j FB(or)d Ft(n)p FB(.)523
-2744 y
+ 860 2854 a Black Fz(].)g(T)-7 b(o)26 b(retriev)n(e)e(a)i(do)r(cumen)n
+(t,)g(the)h(user)e(m)n(ust)h(obtain)g(the)0 2954 y(k)n(ey)h(that)g(w)n
+(as)f(used)i(to)f(sign)g(the)g(do)r(cumen)n(t)h(from)f(some)f(source)g
+(outside)i(the)f(F)-7 b(ree)0 3053 y(Ha)n(v)n(en)24 b(net)n(w)n(ork.)g
+(The)i(design)e(of)i(F)-7 b(ree)25 b(Ha)n(v)n(en)f(itself)i(do)r(es)f
+(not)g(discuss)g(an)n(y)f(searc)n(h)0 3153 y(functionalit)n(y)-7
+b(.)29 b(The)g(user)g(then)g(forw)n(ards)e(the)j(k)n(ey)e(to)h(the)g
+(serv)n(er)e(whic)n(h)i(encrypts)0 3253 y(and)e(sends)h(its)g(share)e
+(of)i(the)g(do)r(cumen)n(t.)125 3355 y(Shares)17 b(are)h(enco)r(ded)h
+(with)g(an)f(information)g(disp)r(ersal)g(algorithm)g(\(ID)n(A\).)h
+(Hosts)0 3455 y(are)h(still)i(able)f(to)h(exercise)e(editorial)h(con)n
+(trol)f(o)n(v)n(er)f(the)j(con)n(ten)n(t)f(since)g(the)h(ID)n(A)g(do)r
+(es)0 3555 y(not)31 b(prev)n(en)n(t)f(hosts)h(from)g(deco)r(ding)g
+(parts)f(of)h(the)h(plain)n(text.)f(Also,)g(the)h Fr(k)i
+Fz(out)d(of)0 3654 y Fr(n)38 b Fz(share)e(reconstruction)g(sc)n(heme)i
+(do)r(es)f(not)h(allo)n(w)e(reconstruction)g(of)i(a)f(\014le)h(b)n(y)0
+3754 y(mixing)27 b(shares)g(from)g(indep)r(enden)n(t)h(insertions)f
+(with)h(di\013eren)n(t)g(v)-5 b(alues)27 b(for)g Fr(k)k
+Fz(or)26 b Fr(n)p Fz(.)0 3969 y
 SDict begin H.S end
- 523 2744 a 523 2744 a
+ 0 3969 a 0 3969 a
 SDict begin 12 H.A end
- 523 2744 a 523 2744 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.3) cvn H.B /DEST
+ 0 3969
+a 0 3969 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.3) cvn H.B /DEST
 pdfmark end
- 523
-2744 a 83 x Fs(2.3)95 b(Mnet)31 b(and)h(Mo)5 b(jo)32
-b(Nation)523 2967 y FB(Mnet)d(is)f(the)g(successor)f(of)h(Mo)5
-b(jo)27 b(Nation)h([)p 0 1 0 TeXcolorrgb 1938 2967 a
+ 0 3969 a 87 x Fs(2.3)j(Mnet)h(and)g(Mojo)h(Nation)0
+4264 y Fz(Mnet)c(is)f(the)g(successor)f(of)h(Mo)5 b(jo)25
+b(Nation)h([)p 0 1 0 TeXcolorrgb 1401 4264 a
 SDict begin H.S end
-
-1938 2967 a 0 1 0 TeXcolorrgb FB(33)p 0 1 0 TeXcolorrgb
-2021 2914 a
+ 1401 4264
+a 0 1 0 TeXcolorrgb Fz(33)p 0 1 0 TeXcolorrgb 1484 4211
+a
 SDict begin H.R end
- 2021 2914 a 2021 2967 a
+ 1484 4211 a 1484 4264 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mojotech) cvn H.B /ANN pdfmark end
- 2021 2967 a Black
-FB(],)h(a)e(p)r(eer-to-p)r(eer)g(net)n(w)n(ork)g(that)h(w)n(as)g(the)
-523 3067 y(\014rst)d(to)g(fo)r(cus)g(on)f(using)h(economic)f(incen)n
-(tiv)n(es)g(when)h(trading)g(con)n(ten)n(t.)f(As)h(the)h(descen-)523
-3167 y(dan)n(t)g(of)g(a)g(commercial)f(pro)r(duct,)i(Mnet)f(fo)r(cuses)
-g(mostly)g(on)g(e\016ciency)h(and)f(reliabilit)n(y)-7
-b(.)523 3266 y(Nev)n(ertheless,)31 b(Mnet)i(encrypts)e(\014les)h(with)h
-(AES)f(using)g(a)f(user-supplied)h(k)n(ey)f(to)h(allo)n(w)523
-3366 y(for)e(priv)-5 b(acy)e(.)30 b(The)h(\014le)g(is)f(then)h(brok)n
-(en)f(in)n(to)g(shares)f(using)h(an)h(erasure)e(co)r(de.)h(Multiple)523
-3466 y(shares)23 b(are)h(iden)n(ti\014ed)g(with)h(an)g(SHA-1)f(hash)g
-(and)g(stored)g(in)h(an)f(ino)r(de.)g(The)h(\014le)g(can)f(b)r(e)523
-3565 y(retriev)n(ed)i(using)i(the)g(hash)f(of)g(the)h(ino)r(de)g(and)f
-(the)h(symmetric)g(encryption)f(k)n(ey)-7 b(.)648 3665
-y(The)30 b(use)g(of)g(whole-\014le)f(AES)h(encryption)g(and)g(the)g
-(use)g(of)g(an)g(erasure)e(co)r(de)i(forces)523 3764
-y(Mnet,)c(as)f(with)h(F)-7 b(reenet,)26 b(to)f(store)g(a)g(second)g
-(cop)n(y)g(of)h(the)g(en)n(tire)f(\014le)h(in)f(the)h(Mnet)g(data)523
-3864 y(store)f(ev)n(en)h(if)g(the)g(user)g(retains)f(a)h(cop)n(y)f(of)h
-(the)g(\014le)g(in)g(plain)n(text.)g(The)g(enco)r(ding)g(mak)n(es)523
-3964 y(it)h(infeasible)f(to)g(enco)r(de)g(parts)f(of)i(the)f(\014le)h
-(on)f(request.)f(The)h(free)g(selection)g(of)g(the)h(AES)523
-4063 y(k)n(ey)j(allo)n(ws)f(indep)r(enden)n(t)j(users)d(to)i(create)f
-(completely)g(di\013eren)n(t)h(shares)e(for)h(iden)n(tical)523
-4163 y(\014les.)35 b(Since)g(the)h(encryption)e(of)h(the)g(con)n(ten)n
-(t)g(is)g(a)f(p)r(erfectly)i(indep)r(enden)n(t)g(pass)e(o)n(v)n(er)523
-4263 y(the)e(\014le,)g(other)e(enco)r(dings)h(suc)n(h)g(as)g(ECRS)g
-(and)g(F)-7 b(reenet's)32 b(enco)r(ding)f(could)g(b)r(e)h(easily)523
-4362 y(extended)i(to)g(include)h(this)f(b)r(eha)n(vior)e(if)j(desired)e
-({)h(without)g(the)h(need)f(to)g(mandate)f(a)523 4462
-y(certain)27 b(st)n(yle)g(of)h(AES)f(encryption.)523
-4601 y
-SDict begin H.S end
- 523 4601 a 523 4601 a
-SDict begin 12 H.A end
- 523 4601 a 523 4601 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.4) cvn H.B /DEST
-pdfmark end
- 523
-4601 a 84 x Fs(2.4)95 b(Publius)523 4825 y FB(Publius)23
-b([)p 0 1 0 TeXcolorrgb 843 4825 a
-SDict begin H.S end
- 843 4825 a 0 1 0 TeXcolorrgb
-FB(32)p 0 1 0 TeXcolorrgb 926 4771 a
-SDict begin H.R end
- 926 4771 a 926 4825
-a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.pub00) cvn H.B /ANN pdfmark end
- 926 4825 a Black FB(])h(is)g(a)f(static)g(net)n(w)n(ork)f(that)i
-(uses)f(Shamir's)g(algorithm)g([)p 0 1 0 TeXcolorrgb
-2736 4825 a
-SDict begin H.S end
- 2736 4825 a 0 1 0 TeXcolorrgb FB(27)p 0 1 0
-TeXcolorrgb 2819 4771 a
-SDict begin H.R end
- 2819 4771 a 2819 4825 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.shamir) cvn H.B /ANN pdfmark end
- 2819
-4825 a Black FB(])g(to)h(split)g(the)g(k)n(ey)523 4924
-y(required)j(to)g(restore)g(stored)g(\014les)g(b)r(et)n(w)n(een)h(the)g
-(a)n(v)-5 b(ailable)27 b(serv)n(ers.)e(The)j(encrypted)g(\014le)p
+ 1484 4264 a Black Fz(],)h(a)f(p)r(eer-to-p)r
+(eer)f(net)n(w)n(ork)f(that)j(w)n(as)0 4364 y(the)36
+b(\014rst)g(to)g(fo)r(cus)g(on)g(using)f(economic)g(incen)n(tiv)n(es)h
+(when)g(trading)f(con)n(ten)n(t.)h(As)0 4464 y(the)27
+b(descendan)n(t)f(of)h(a)f(commercial)g(pro)r(duct,)h(Mnet)g(fo)r
+(cuses)f(mostly)h(on)f(e\016ciency)0 4563 y(and)37 b(reliabilit)n(y)-7
+b(.)37 b(Nev)n(ertheless,)f(Mnet)i(encrypts)f(\014les)g(with)h(AES)f
+(using)g(a)g(user-)0 4663 y(supplied)30 b(k)n(ey)f(to)h(allo)n(w)f(for)
+g(priv)-5 b(acy)e(.)29 b(The)h(\014le)g(is)g(then)h(brok)n(en)d(in)n
+(to)i(shares)e(using)0 4762 y(an)38 b(erasure)e(co)r(de.)h(Multiple)i
+(shares)e(are)g(iden)n(ti\014ed)h(with)g(an)g(SHA-1)g(hash)f(and)p
 Black Black eop end
 %%Page: 6 6
 TeXDict begin 6 5 bop 0 0 a
@@ -6377,153 +6354,142 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark
 end
- 523 232 a Black Fy(6)237 b(C.)27
-b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
-Black 523 448 a FB(is)33 b(then)h(stored)f(on)g(all)g(serv)n(ers.)e
-(The)j(serv)n(ers)d(cannot)i(decrypt)g(the)h(\014le)f(as)g(the)g(k)n
-(ey)g(is)523 548 y(nev)n(er)27 b(rev)n(ealed)f(to)h(them.)648
-648 y(Publius)34 b(k)n(eys)g(are)g(random)g(strings.)g(The)h(system)g
-(do)r(es)g(not)g(pro)n(vide)e(an)n(y)i(searc)n(h)523
-747 y(mec)n(hanism)c(and)h(exp)r(ects)f(the)h(users)f(to)h(obtain)f
-(the)h(k)n(eys)f(from)g(an)g(alternate)g(source.)523
-847 y(Publius)d(nev)n(er)e(discards)h(an)n(y)g(con)n(ten)n(t)g(and)h
-(th)n(us)g(assumes)e(that)i(disk)g(space)f(is)h(nev)n(er)e(a)523
-947 y(limitation.)523 1096 y
+ 0 17 a Black Fv(6)917 b(C.)27 b(Grotho\013,)f(K.)g
+(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
+0 248 a Fz(stored)c(in)h(an)f(ino)r(de.)h(The)g(\014le)f(can)h(b)r(e)g
+(retriev)n(ed)e(using)h(the)h(hash)g(of)f(the)h(ino)r(de)g(and)0
+348 y(the)k(symmetric)f(encryption)g(k)n(ey)-7 b(.)125
+448 y(The)35 b(use)h(of)g(whole-\014le)f(AES)h(encryption)f(and)h(the)g
+(use)g(of)f(an)h(erasure)e(co)r(de)0 547 y(forces)h(Mnet,)i(as)e(with)i
+(F)-7 b(reenet,)36 b(to)g(store)f(a)h(second)f(cop)n(y)g(of)h(the)h(en)
+n(tire)e(\014le)i(in)0 647 y(the)30 b(Mnet)g(data)e(store)h(ev)n(en)g
+(if)g(the)h(user)f(retains)f(a)h(cop)n(y)g(of)g(the)h(\014le)f(in)h
+(plain)n(text.)0 746 y(The)25 b(enco)r(ding)g(mak)n(es)g(it)g
+(infeasible)h(to)f(enco)r(de)g(parts)g(of)g(the)h(\014le)f(on)g
+(request.)g(The)0 846 y(free)g(selection)g(of)h(the)f(AES)h(k)n(ey)e
+(allo)n(ws)g(indep)r(enden)n(t)j(users)d(to)i(create)e(completely)0
+946 y(di\013eren)n(t)39 b(shares)f(for)g(iden)n(tical)h(\014les.)g
+(Since)g(the)g(encryption)f(of)h(the)g(con)n(ten)n(t)g(is)0
+1045 y(a)33 b(p)r(erfectly)g(indep)r(enden)n(t)h(pass)f(o)n(v)n(er)e
+(the)j(\014le,)f(other)g(enco)r(dings)g(suc)n(h)g(as)f(ECRS)0
+1145 y(and)27 b(F)-7 b(reenet's)28 b(enco)r(ding)f(could)g(b)r(e)h
+(easily)f(extended)h(to)f(include)h(this)g(b)r(eha)n(vior)e(if)0
+1245 y(desired)h({)g(without)h(the)g(need)g(to)f(mandate)h(a)f(certain)
+g(st)n(yle)g(of)h(AES)f(encryption.)0 1440 y
 SDict begin H.S end
- 523 1096 a 523 1096 a
+ 0 1440 a
+0 1440 a
 SDict begin 12 H.A end
- 523
-1096 a 523 1096 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.5) cvn H.B /DEST
+ 0 1440 a 0 1440 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.4) cvn H.B /DEST
 pdfmark end
- 523 1096 a 100 x Fs(2.5)95 b(T)-8 b(angler)523
-1363 y FB(The)31 b(T)-7 b(angler)30 b(net)n(w)n(ork)f([)p
-0 1 0 TeXcolorrgb 1345 1363 a
+ 0 1440 a 83 x Fs(2.4)i(Publius)0
+1708 y Fz(Publius)k([)p 0 1 0 TeXcolorrgb 330 1708 a
 SDict begin H.S end
- 1345 1363 a 0 1 0 TeXcolorrgb
-FB(31)p 0 1 0 TeXcolorrgb 1428 1309 a
+
+330 1708 a 0 1 0 TeXcolorrgb Fz(32)p 0 1 0 TeXcolorrgb
+413 1655 a
 SDict begin H.R end
- 1428 1309 a 1428
-1363 a
+ 413 1655 a 413 1708 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.waldman2001tangler) cvn H.B /ANN pdfmark end
- 1428 1363 a Black FB(])i(is)g(a)f(system)h(where)f(new)h(con)n
-(ten)n(t)g(is)g(en)n(tangled)f(with)h(old)523 1462 y(con)n(ten)n(t.)26
-b(This)h(en)n(tanglemen)n(t)f(in)n(tro)r(duces)g(a)h(dep)r(endency)g
-(whic)n(h)f(mak)n(es)g(it)h(imp)r(ossible)523 1562 y(to)19
-b(retriev)n(e)e(a)h(piece)h(of)g(con)n(ten)n(t)f(if)i(the)f(other)f
-(con)n(ten)n(t)g(that)h(it)g(w)n(as)f(en)n(tangled)g(with)i(is)e(lost.)
-523 1661 y(While)i(this)h(mak)n(es)d(it)j(imp)r(ossible)e(to)h(censor)f
-(sp)r(eci\014c)h(con)n(ten)n(t)f(without)h(losing)f(unrelated)523
-1761 y(con)n(ten)n(t)j(\(since)h(the)g(en)n(tanglemen)n(t)e(pairs)h
-(are)g(c)n(hosen)f(randomly\),)h(this)h(pro)r(cess)e
-Fu(doubles)523 1861 y FB(the)f(amoun)n(t)f(of)g(data)g(that)h(m)n(ust)f
-(b)r(e)h(transp)r(orted)f(b)n(y)g(the)h(net)n(w)n(ork.)e(This)h(sc)n
-(heme)g(fails)g(to)523 1960 y(address)29 b(the)i(fact)f(that)h(an)f
-(adv)n(ersary)d(ma)n(y)j(not)g(care)g(ab)r(out)g(losing)f(other)h(data)
-g(when)523 2060 y(attempting)35 b(to)g(censor)f(con)n(ten)n(t.)h(Also,)
-f(nothing)h(prev)n(en)n(ts)f(the)h(adv)n(ersary)e(from)h(\014rst)523
-2160 y(making)e(a)g(cop)n(y)f(of)h(imp)r(ortan)n(t)g(do)r(cumen)n(ts)h
-(and)f(re-inserting)f(them)h(in)n(to)h(the)f(system)523
-2259 y(after)27 b(the)h(censorship)f(op)r(eration.)648
-2359 y(T)-7 b(angler)33 b(has)h(some)h(similarities)f(with)h(ECRS.)g
-(In)g(particular,)e(it)j(uses)e(hash)h(trees)523 2458
-y(for)40 b(in)n(tegrit)n(y)f(c)n(hec)n(ks)g(on)h(\014xed-size)g(blo)r
-(c)n(ks)g(of)g(data.)g(Ho)n(w)n(ev)n(er,)e(unlik)n(e)i(ECRS,)h(the)523
-2558 y(T)-7 b(angler)33 b(enco)r(ding)h(uses)g(Shamir's)g(secret)g
-(sharing)f([)p 0 1 0 TeXcolorrgb 2283 2558 a
+(cite.pub00) cvn H.B /ANN pdfmark end
+ 413 1708 a Black Fz(])h(is)f(a)g
+(static)g(net)n(w)n(ork)f(that)i(uses)f(Shamir's)g(algorithm)f([)p
+0 1 0 TeXcolorrgb 2311 1708 a
 SDict begin H.S end
- 2283 2558
-a 0 1 0 TeXcolorrgb FB(27)p 0 1 0 TeXcolorrgb 2366 2505
-a
+ 2311 1708 a 0 1 0 TeXcolorrgb
+Fz(27)p 0 1 0 TeXcolorrgb 2394 1655 a
 SDict begin H.R end
- 2366 2505 a 2366 2558 a
+ 2394 1655 a 2394
+1708 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.shamir) cvn H.B /ANN pdfmark end
- 2366 2558 a Black FB(])h(to)g(en)n(tangle)g
-(the)h(blo)r(c)n(k)e(with)523 2658 y(other,)d(pre-existing)g(blo)r(c)n
-(ks,)g(preferably)g(from)h(other)f(do)r(cumen)n(ts.)h(Both)g(T)-7
-b(angler)29 b(and)523 2757 y(ECRS)21 b(\(as)g(w)n(ell)g(as)g(F)-7
-b(reenet\))21 b(use)g(cryptographically)e(signed)i(data,)f(whic)n(h)i
-(T)-7 b(angler)20 b(calls)523 2857 y(collections.)27
-b(ECRS)h(has)f(analogous)e(constructions)i(to)h(T)-7
-b(angler's)26 b(collections,)h(referred)523 2957 y(to)35
-b(in)h(this)f(pap)r(er)g(as)f(\\directories")f(and)i(\\namespaces";)e
-(ho)n(w)n(ev)n(er,)g(unlik)n(e)i(ECRS,)g(a)523 3056 y(T)-7
-b(angler)29 b(collection)g(has)h(a)f(v)n(ersioned)g(ro)r(ot)g(whic)n(h)
-h(explicitly)g(lists)g(all)f(of)h(the)h(con)n(ten)n(ts)523
-3156 y(in)e(the)h(collection,)e(resulting)h(in)g(one)g(of)g(T)-7
-b(angler's)28 b(global)g(sync)n(hronization)f(problems.)523
-3255 y(Placing)34 b(a)i(do)r(cumen)n(t)g(in)f(a)h(F)-7
-b(reenet)35 b(subspace)g(or)g(ECRS)g(namespace)g(only)g(requires)523
-3355 y(that)28 b(it)g(b)r(e)g(adequately)f(signed.)523
-3521 y
+ 2394 1708 a Black Fz(])h(to)h(split)0 1808 y(the)g(k)n(ey)e
+(required)g(to)h(restore)f(stored)g(\014les)h(b)r(et)n(w)n(een)g(the)h
+(a)n(v)-5 b(ailable)32 b(serv)n(ers.)f(The)0 1908 y(encrypted)d(\014le)
+h(is)g(then)g(stored)f(on)g(all)g(serv)n(ers.)f(The)h(serv)n(ers)f
+(cannot)h(decrypt)h(the)0 2007 y(\014le)f(as)f(the)h(k)n(ey)f(is)g(nev)
+n(er)g(rev)n(ealed)f(to)h(them.)125 2107 y(Publius)19
+b(k)n(eys)g(are)g(random)f(strings.)h(The)h(system)g(do)r(es)f(not)h
+(pro)n(vide)e(an)n(y)h(searc)n(h)0 2207 y(mec)n(hanism)42
+b(and)f(exp)r(ects)i(the)f(users)f(to)h(obtain)g(the)g(k)n(eys)f(from)h
+(an)g(alternate)0 2306 y(source.)20 b(Publius)h(nev)n(er)g(discards)f
+(an)n(y)h(con)n(ten)n(t)g(and)g(th)n(us)g(assumes)g(that)g(disk)h
+(space)0 2406 y(is)27 b(nev)n(er)g(a)g(limitation.)0
+2585 y
 SDict begin H.S end
- 523 3521 a 523 3521 a
+ 0 2585 a 0 2585 a
 SDict begin 12 H.A end
- 523 3521 a 523 3521 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.6) cvn H.B /DEST
+ 0 2585 a 0 2585 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.5) cvn H.B /DEST
 pdfmark end
- 523
-3521 a 84 x Fs(2.6)95 b(Gn)m(utella)31 b(and)h(F)-8 b(astT)g(rac)m(k)
-523 3771 y FB(The)31 b(F)-7 b(astT)g(rac)n(k)28 b(net)n(w)n(ork)p
-1 0 0 TeXcolorrgb 1376 3771 a
+ 0 2585 a 99
+x Fs(2.5)i(T)-6 b(angler)0 2870 y Fz(The)29 b(T)-7 b(angler)27
+b(net)n(w)n(ork)h([)p 0 1 0 TeXcolorrgb 816 2870 a
 SDict begin H.S end
- 1376 3771 a -30 x FA(1)1412
-3771 y
-SDict begin 12 H.L end
- 1412 3771 a 1412 3771 a
-SDict begin [ /Subtype /Link /Dest (Hfootnote.1) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 1412 3771 a Black 31 w
-FB(and)i(mo)r(dern)g(v)-5 b(arian)n(ts)29 b(of)i(the)g(Gn)n(utella)f
-(proto)r(col)f(use)i(the)523 3871 y(SHA-1)f(hash)f(co)r(de)g(of)h(the)g
-(shared)f(\014les)g(to)h(uniquely)f(iden)n(tify)i(\014les.)e(The)h
-(SHA-1)f(hash)523 3970 y(co)r(des)d(are)f(used)i(to)f(iden)n(tify)h
-(iden)n(tical)f(\014les)g(stored)g(on)g(di\013eren)n(t)g(p)r(eers.)g
-(The)g(p)r(eers)g(can)523 4070 y(then)d(use)g(this)g(information)f(to)h
-(do)n(wnload)f(the)h(\014le)g(from)f(m)n(ultiple)i(sources)d(\(sw)n
-(arming\).)523 4170 y(The)41 b(problem)f(with)h(this)f(approac)n(h)f
-(is)h(that)h(the)g(SHA-1)f(hash)g(co)r(des)g(can)h(only)f(b)r(e)523
-4269 y(v)n(eri\014ed)23 b(once)h(the)h(en)n(tire)f(\014le)g(has)g(b)r
-(een)g(retriev)n(ed.)f(T)-7 b(o)24 b(ruin)g(a)g(do)n(wnload,)f(it)i
-(su\016ces)f(for)523 4369 y(a)29 b(malicious)f(p)r(eer)i(to)f(con)n
-(tribute)g(just)h(one)e(single)h(in)n(v)-5 b(alid)29
-b(blo)r(c)n(k.)g(The)h(presence)e(of)h(an)523 4468 y(in)n(v)-5
-b(alid)22 b(blo)r(c)n(k)f(could)g(only)h(b)r(e)g(detected)g(after)f
-(the)h(en)n(tire)g(\014le)f(w)n(as)g(retriev)n(ed.)g(W)-7
-b(orse,)21 b(the)p Black 523 4538 473 4 v 546 4592 a
-Fz(1)p 0 TeXcolorgray 606 4532 a
-SDict begin H.S end
- 606 4532 a 0 TeXcolorgray
-0 TeXcolorgray 606 4532 a
+ 816
+2870 a 0 1 0 TeXcolorrgb Fz(31)p 0 1 0 TeXcolorrgb 899
+2816 a
 SDict begin H.R end
- 606 4532 a 606 4532 a
-SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.1) cvn H.B /DEST pdfmark
-end
- 606 4532
-a Black 92 x Fy(Proto)r(col)28 b(description)e(from)g(the)g(giFT-F)-6
-b(astT)g(rac)n(k)26 b(pro)t(ject)h(is)f(a)n(v)l(ailable)h(at)p
-0 1 0 0 TeXcolorcmyk 689 4802 a
+ 899 2816 a 899 2870 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.waldman2001tangler) cvn H.B /ANN pdfmark end
+ 899 2870 a Black Fz(])h(is)f(a)h(system)f
+(where)g(new)h(con)n(ten)n(t)g(is)f(en)n(tangled)g(with)0
+2969 y(old)37 b(con)n(ten)n(t.)h(This)g(en)n(tanglemen)n(t)f(in)n(tro)r
+(duces)g(a)g(dep)r(endency)h(whic)n(h)g(mak)n(es)e(it)0
+3069 y(imp)r(ossible)g(to)h(retriev)n(e)e(a)h(piece)h(of)f(con)n(ten)n
+(t)g(if)h(the)g(other)f(con)n(ten)n(t)g(that)h(it)g(w)n(as)0
+3168 y(en)n(tangled)i(with)g(is)g(lost.)g(While)h(this)g(mak)n(es)e(it)
+i(imp)r(ossible)f(to)g(censor)f(sp)r(eci\014c)0 3268
+y(con)n(ten)n(t)28 b(without)g(losing)g(unrelated)f(con)n(ten)n(t)h
+(\(since)h(the)f(en)n(tanglemen)n(t)g(pairs)f(are)0 3368
+y(c)n(hosen)34 b(randomly\),)h(this)g(pro)r(cess)f Fs(doubles)i
+Fz(the)g(amoun)n(t)e(of)h(data)g(that)g(m)n(ust)g(b)r(e)0
+3467 y(transp)r(orted)c(b)n(y)g(the)h(net)n(w)n(ork.)e(This)i(sc)n
+(heme)f(fails)g(to)g(address)g(the)h(fact)f(that)h(an)0
+3567 y(adv)n(ersary)23 b(ma)n(y)i(not)h(care)f(ab)r(out)h(losing)f
+(other)g(data)h(when)g(attempting)g(to)g(censor)0 3667
+y(con)n(ten)n(t.)41 b(Also,)g(nothing)g(prev)n(en)n(ts)f(the)h(adv)n
+(ersary)e(from)i(\014rst)g(making)f(a)h(cop)n(y)0 3766
+y(of)d(imp)r(ortan)n(t)f(do)r(cumen)n(ts)h(and)f(re-inserting)g(them)h
+(in)n(to)f(the)i(system)e(after)h(the)0 3866 y(censorship)26
+b(op)r(eration.)125 3965 y(T)-7 b(angler)18 b(has)h(some)g
+(similarities)g(with)h(ECRS.)g(In)g(particular,)e(it)i(uses)f(hash)g
+(trees)0 4065 y(for)25 b(in)n(tegrit)n(y)f(c)n(hec)n(ks)g(on)h
+(\014xed-size)f(blo)r(c)n(ks)g(of)i(data.)e(Ho)n(w)n(ev)n(er,)g(unlik)n
+(e)h(ECRS,)g(the)0 4165 y(T)-7 b(angler)18 b(enco)r(ding)h(uses)f
+(Shamir's)h(secret)g(sharing)e([)p 0 1 0 TeXcolorrgb
+1668 4165 a
 SDict begin H.S end
- 689 4802 a 0 1 0 0 TeXcolorcmyk
--16 x Fx(http://gnunet.org/papers/FAST)q(-)t(TR)q(ACK-)5
-b(PROTO)q(COL)p 0 1 0 0 TeXcolorcmyk 2423 4734 a
+ 1668 4165 a 0 1 0 TeXcolorrgb Fz(27)p 0 1 0
+TeXcolorrgb 1751 4111 a
 SDict begin H.R end
- 2423
-4734 a 2423 4786 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://gnunet.org/papers/FAST-TRACK-PROTOCOL) >> /Subtype
-/Link H.B /ANN pdfmark end
- 2423 4786 a Black Fy(.)p Black Black
+ 1751 4111 a 1751 4165 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.shamir) cvn H.B /ANN pdfmark end
+ 1751
+4165 a Black Fz(])j(to)f(en)n(tangle)f(the)i(blo)r(c)n(k)e(with)0
+4264 y(other,)30 b(pre-existing)f(blo)r(c)n(ks,)h(preferably)g(from)g
+(other)g(do)r(cumen)n(ts.)h(Both)f(T)-7 b(angler)0 4364
+y(and)36 b(ECRS)h(\(as)f(w)n(ell)g(as)g(F)-7 b(reenet\))37
+b(use)f(cryptographically)e(signed)i(data,)g(whic)n(h)0
+4464 y(T)-7 b(angler)36 b(calls)h(collections.)g(ECRS)g(has)g
+(analogous)e(constructions)i(to)g(T)-7 b(angler's)0 4563
+y(collections,)39 b(referred)h(to)g(in)g(this)h(pap)r(er)f(as)f
+(\\directories")f(and)i(\\namespaces";)0 4663 y(ho)n(w)n(ev)n(er,)26
+b(unlik)n(e)i(ECRS,)h(a)e(T)-7 b(angler)28 b(collection)f(has)h(a)g(v)n
+(ersioned)f(ro)r(ot)g(whic)n(h)h(ex-)0 4762 y(plicitly)23
+b(lists)g(all)f(of)h(the)g(con)n(ten)n(ts)f(in)g(the)i(collection,)e
+(resulting)g(in)h(one)f(of)g(T)-7 b(angler's)p Black
 Black eop end
 %%Page: 7 7
 TeXDict begin 7 6 bop 0 0 a
@@ -6532,246 +6498,235 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark
 end
- 523 232 a Black 1036 w Fy(An)25
-b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)238
-b(7)p Black 523 448 a FB(simplistic)28 b(SHA-1)g(approac)n(h)f(do)r(es)
-g(not)i(giv)n(e)e(p)r(eers)g(an)n(y)h(w)n(a)n(y)f(to)h(iden)n(tify)g
-(the)h(lo)r(cation)523 548 y(of)f(the)g(in)n(v)-5 b(alid)27
-b(blo)r(c)n(k)g(or)g(the)h(malicious)f(p)r(eer.)648 648
-y(Neither)19 b(F)-7 b(astT)g(rac)n(k)18 b(nor)h(Gn)n(utella)g(use)h
-(\014le)f(encryption.)g(Consequen)n(tly)-7 b(,)19 b(they)h(do)f(not)523
-747 y(pro)n(vide)h(an)n(y)h(protection)f(from)h(censorship)f(b)r(ey)n
-(ond)h(decen)n(tralized)f(routing)h(of)g(requests.)523
-912 y
+ 0 17 a Black Fv(An)25 b(Enco)r(ding)h(for)h
+(Censorship-Resistan)n(t)f(Sharing)1106 b(7)p Black 0
+248 a Fz(global)23 b(sync)n(hronization)f(problems.)h(Placing)f(a)h(do)
+r(cumen)n(t)h(in)h(a)e(F)-7 b(reenet)24 b(subspace)0
+348 y(or)j(ECRS)g(namespace)g(only)g(requires)f(that)i(it)g(b)r(e)g
+(adequately)f(signed.)0 552 y
 SDict begin H.S end
- 523 912 a 523 912 a
+ 0 552 a 0 552 a
 SDict begin 12 H.A end
- 523 912 a 523 912 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.7) cvn H.B /DEST
+ 0 552 a
+0 552 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.6) cvn H.B /DEST
 pdfmark end
- 523 912
-a 83 x Fs(2.7)95 b(Distributed)31 b(File)f(Systems)523
-1160 y FB(V)-7 b(arious)21 b(distributed)i(\014le)g(systems)f(based)g
-(on)g(a)g(p)r(eer-to-p)r(eer)f(infrastructure)g(ha)n(v)n(e)h(b)r(een)
-523 1260 y(built)39 b(in)f(recen)n(t)f(y)n(ears)f([)p
-0 1 0 TeXcolorrgb 1342 1260 a
+ 0 552 a 84 x Fs(2.6)i(Gnutel)t(la)h(and)g(F)-6
+b(astT)g(r)l(ack)0 831 y Fz(The)28 b(F)-7 b(astT)g(rac)n(k)27
+b(net)n(w)n(ork)p 1 0 0 TeXcolorrgb 849 831 a
 SDict begin H.S end
- 1342 1260 a 0 1 0 TeXcolorrgb
-FB(7)p 0 1 0 TeXcolorrgb 1384 1207 a
+ 849 831
+a -30 x Fx(1)885 831 y
+SDict begin 12 H.L end
+ 885 831 a 885 831 a
+SDict begin [ /Subtype /Link /Dest (Hfootnote.1) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 885 831 a
+Black 28 w Fz(and)h(mo)r(dern)h(v)-5 b(arian)n(ts)27
+b(of)h(the)h(Gn)n(utella)f(proto)r(col)f(use)0 930 y(the)d(SHA-1)g
+(hash)g(co)r(de)f(of)h(the)h(shared)e(\014les)g(to)h(uniquely)g(iden)n
+(tify)h(\014les.)f(The)f(SHA-)0 1030 y(1)35 b(hash)g(co)r(des)f(are)h
+(used)g(to)g(iden)n(tify)h(iden)n(tical)f(\014les)g(stored)f(on)h
+(di\013eren)n(t)g(p)r(eers.)0 1130 y(The)27 b(p)r(eers)f(can)g(then)i
+(use)e(this)h(information)f(to)h(do)n(wnload)e(the)i(\014le)g(from)f(m)
+n(ultiple)0 1229 y(sources)19 b(\(sw)n(arming\).)h(The)h(problem)f
+(with)i(this)f(approac)n(h)e(is)h(that)h(the)h(SHA-1)e(hash)0
+1329 y(co)r(des)33 b(can)f(only)h(b)r(e)g(v)n(eri\014ed)f(once)h(the)g
+(en)n(tire)g(\014le)g(has)f(b)r(een)i(retriev)n(ed.)d(T)-7
+b(o)33 b(ruin)0 1429 y(a)k(do)n(wnload,)g(it)h(su\016ces)g(for)f(a)g
+(malicious)g(p)r(eer)h(to)f(con)n(tribute)h(just)g(one)f(single)0
+1528 y(in)n(v)-5 b(alid)27 b(blo)r(c)n(k.)f(The)g(presence)g(of)h(an)f
+(in)n(v)-5 b(alid)26 b(blo)r(c)n(k)h(could)f(only)g(b)r(e)h(detected)g
+(after)0 1628 y(the)39 b(en)n(tire)e(\014le)i(w)n(as)e(retriev)n(ed.)g
+(W)-7 b(orse,)37 b(the)i(simplistic)f(SHA-1)g(approac)n(h)e(do)r(es)0
+1727 y(not)31 b(giv)n(e)g(p)r(eers)g(an)n(y)f(w)n(a)n(y)g(to)i(iden)n
+(tify)f(the)h(lo)r(cation)f(of)g(the)h(in)n(v)-5 b(alid)31
+b(blo)r(c)n(k)g(or)g(the)0 1827 y(malicious)c(p)r(eer.)125
+1927 y(Neither)i(F)-7 b(astT)g(rac)n(k)28 b(nor)h(Gn)n(utella)g(use)g
+(\014le)h(encryption.)f(Consequen)n(tly)-7 b(,)29 b(they)0
+2027 y(do)22 b(not)g(pro)n(vide)f(an)n(y)h(protection)f(from)h
+(censorship)f(b)r(ey)n(ond)h(decen)n(tralized)g(routing)0
+2126 y(of)28 b(requests.)0 2331 y
+SDict begin H.S end
+ 0 2331 a 0 2331 a
+SDict begin 12 H.A end
+ 0
+2331 a 0 2331 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.7) cvn H.B /DEST
+pdfmark end
+ 0 2331 a 83 x Fs(2.7)h(Distribute)l(d)h(File)g(Systems)
+0 2609 y Fz(V)-7 b(arious)24 b(distributed)h(\014le)h(systems)e(based)h
+(on)g(a)f(p)r(eer-to-p)r(eer)g(infrastructure)g(ha)n(v)n(e)0
+2709 y(b)r(een)33 b(built)f(in)h(recen)n(t)e(y)n(ears)g([)p
+0 1 0 TeXcolorrgb 997 2709 a
+SDict begin H.S end
+ 997 2709 a 0 1 0 TeXcolorrgb
+Fz(7)p 0 1 0 TeXcolorrgb 1038 2655 a
 SDict begin H.R end
- 1384 1207 a 1384
-1260 a
+ 1038 2655 a 1038
+2709 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.cfs:sosp01) cvn H.B /ANN pdfmark end
- 1384 1260 a Black FB(,)p 0 1 0 TeXcolorrgb 1407
-1260 a
+ 1038 2709 a Black Fz(,)p 0 1 0 TeXcolorrgb 1069
+2709 a
 SDict begin H.S end
- 1407 1260 a 0 1 0 TeXcolorrgb FB(19)p 0 1 0 TeXcolorrgb
-1490 1207 a
+ 1069 2709 a 0 1 0 TeXcolorrgb Fz(19)p 0 1 0 TeXcolorrgb
+1153 2655 a
 SDict begin H.R end
- 1490 1207 a 1490 1260 a
+ 1153 2655 a 1153 2709 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mazires00sfs) cvn H.B /ANN pdfmark end
- 1490 1260 a Black
-FB(,)p 0 1 0 TeXcolorrgb 1513 1260 a
+ 1153 2709 a Black
+Fz(,)p 0 1 0 TeXcolorrgb 1184 2709 a
 SDict begin H.S end
- 1513 1260 a 0 1 0
-TeXcolorrgb FB(20)p 0 1 0 TeXcolorrgb 1596 1207 a
+ 1184 2709 a 0 1 0
+TeXcolorrgb Fz(20)p 0 1 0 TeXcolorrgb 1267 2655 a
 SDict begin H.R end
- 1596
-1207 a 1596 1260 a
+ 1267
+2655 a 1267 2709 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mazieres02building) cvn H.B /ANN pdfmark end
- 1596 1260 a Black FB(,)p 0 1 0 TeXcolorrgb
-1619 1260 a
+ 1267 2709 a Black Fz(,)p 0 1 0 TeXcolorrgb
+1298 2709 a
 SDict begin H.S end
- 1619 1260 a 0 1 0 TeXcolorrgb FB(23)p 0 1 0
-TeXcolorrgb 1702 1207 a
+ 1298 2709 a 0 1 0 TeXcolorrgb Fz(23)p 0 1 0
+TeXcolorrgb 1381 2655 a
 SDict begin H.R end
- 1702 1207 a 1702 1260 a
+ 1381 2655 a 1381 2709 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.muthitacharoen02ivy) cvn H.B /ANN pdfmark end
- 1702
-1260 a Black FB(,)p 0 1 0 TeXcolorrgb 1725 1260 a
+ 1381
+2709 a Black Fz(,)p 0 1 0 TeXcolorrgb 1412 2709 a
 SDict begin H.S end
- 1725
-1260 a 0 1 0 TeXcolorrgb FB(26)p 0 1 0 TeXcolorrgb 1808
-1207 a
+ 1412
+2709 a 0 1 0 TeXcolorrgb Fz(26)p 0 1 0 TeXcolorrgb 1496
+2655 a
 SDict begin H.R end
- 1808 1207 a 1808 1260 a
+ 1496 2655 a 1496 2709 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.rowstron01storage) cvn H.B /ANN pdfmark end
- 1808 1260 a Black FB(].)i(These)g
-(systems)f(t)n(ypically)h(do)f(not)h(fo)r(cus)g(on)523
-1360 y(censorship)g(resistance)g(and)i(consequen)n(tly)e(do)h(not)h
-(encrypt)f(the)h(con)n(ten)n(ts.)e(Mo)r(dern)523 1459
-y(systems)26 b(lik)n(e)g([)p 0 1 0 TeXcolorrgb 1004 1459
+ 1496 2709 a Black Fz(].)h(These)g
+(systems)g(t)n(ypically)f(do)h(not)0 2809 y(fo)r(cus)20
+b(on)f(censorship)f(resistance)h(and)g(consequen)n(tly)g(do)g(not)h
+(encrypt)f(the)h(con)n(ten)n(ts.)0 2908 y(Mo)r(dern)27
+b(systems)g(lik)n(e)g([)p 0 1 0 TeXcolorrgb 792 2908
 a
 SDict begin H.S end
- 1004 1459 a 0 1 0 TeXcolorrgb FB(7)p 0 1 0 TeXcolorrgb
-1045 1406 a
+ 792 2908 a 0 1 0 TeXcolorrgb Fz(7)p 0 1 0 TeXcolorrgb
+833 2855 a
 SDict begin H.R end
- 1045 1406 a 1045 1459 a
+ 833 2855 a 833 2908 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.cfs:sosp01) cvn H.B /ANN pdfmark end
- 1045 1459 a Black
-FB(,)p 0 1 0 TeXcolorrgb 1068 1459 a
+ 833 2908 a Black Fz(,)p
+0 1 0 TeXcolorrgb 864 2908 a
 SDict begin H.S end
- 1068 1459 a 0 1 0
-TeXcolorrgb FB(26)p 0 1 0 TeXcolorrgb 1152 1406 a
+ 864 2908 a 0 1 0 TeXcolorrgb
+Fz(26)p 0 1 0 TeXcolorrgb 948 2855 a
 SDict begin H.R end
- 1152
-1406 a 1152 1459 a
+ 948 2855 a 948 2908
+a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.rowstron01storage) cvn H.B /ANN pdfmark end
- 1152 1459 a Black FB(])g(route)g(con)n(ten)n(t)g
-(using)g(distributed)g(hash)g(tables)g([)p 0 1 0 TeXcolorrgb
-2805 1459 a
+ 948 2908 a Black Fz(])g(route)g(con)n(ten)n(t)g(using)g(distributed)h
+(hash)f(tables)g([)p 0 1 0 TeXcolorrgb 2609 2908 a
 SDict begin H.S end
- 2805 1459 a 0 1 0 TeXcolorrgb FB(18)p 0 1 0
-TeXcolorrgb 2889 1406 a
+ 2609
+2908 a 0 1 0 TeXcolorrgb Fz(18)p 0 1 0 TeXcolorrgb 2692
+2855 a
 SDict begin H.R end
- 2889 1406 a 2889 1459 a
+ 2692 2855 a 2692 2908 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.maymounkov02kademlia) cvn H.B /ANN pdfmark end
- 2889
-1459 a Black FB(,)p 0 1 0 TeXcolorrgb 2912 1459 a
+ 2692 2908 a Black Fz(,)p
+0 1 0 TeXcolorrgb 0 3008 a
 SDict begin H.S end
- 2912
-1459 a 0 1 0 TeXcolorrgb FB(28)p 0 1 0 TeXcolorrgb 2995
-1406 a
+ 0 3008 a 0 1 0 TeXcolorrgb
+Fz(28)p 0 1 0 TeXcolorrgb 83 2954 a
 SDict begin H.R end
- 2995 1406 a 2995 1459 a
+ 83 2954 a 83 3008
+a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.stoica01chord) cvn H.B /ANN pdfmark end
- 2995 1459 a Black FB(])g(to)g(ac)n(hiev)
-n(e)523 1559 y Ft(O)r FB(\(log)15 b Ft(n)p FB(\))32 b(scalabilit)n(y)-7
-b(.)30 b(W)-7 b(ritable)32 b(distributed)g(\014le)f(systems)g(t)n
-(ypically)g(require)g(users)f(to)523 1659 y(authen)n(ticate)25
-b(themselv)n(es)g(b)r(efore)f(b)r(eing)i(gran)n(ted)e(access)f(to)i
-(the)h(system)f(b)n(y)g(one)g(of)g(the)523 1758 y(serv)n(ers)33
-b([)p 0 1 0 TeXcolorrgb 827 1758 a
+ 83 3008 a Black Fz(])20 b(to)h(ac)n(hiev)n(e)e Fr(O)r
+Fz(\(log)c Fr(n)p Fz(\))20 b(scalabilit)n(y)-7 b(.)19
+b(W)-7 b(ritable)21 b(distributed)f(\014le)h(systems)e(t)n(ypically)0
+3107 y(require)26 b(users)g(to)h(authen)n(ticate)g(themselv)n(es)f(b)r
+(efore)h(b)r(eing)g(gran)n(ted)f(access)g(to)h(the)0
+3207 y(system)g(b)n(y)g(one)f(of)h(the)h(serv)n(ers)d([)p
+0 1 0 TeXcolorrgb 1074 3207 a
 SDict begin H.S end
- 827 1758 a 0 1 0 TeXcolorrgb
-FB(19)p 0 1 0 TeXcolorrgb 910 1705 a
+ 1074 3207 a 0 1 0 TeXcolorrgb
+Fz(19)p 0 1 0 TeXcolorrgb 1157 3154 a
 SDict begin H.R end
- 910 1705 a 910 1758
-a
+ 1157 3154 a 1157
+3207 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mazires00sfs) cvn H.B /ANN pdfmark end
- 910 1758 a Black FB(].)j(ECRS)e(fo)r(cuses)h(on)g(encrypting)g
-(shared)f(data)g(while)i(allo)n(wing)d(p)r(eers)i(to)523
-1858 y(v)n(erify)21 b(the)h(in)n(tegrit)n(y)f(of)g(the)h(encrypted)g
-(data)f(that)h(they)g(are)f(routing.)g(In)h(SUNDR)h([)p
-0 1 0 TeXcolorrgb 3236 1858 a
+ 1157 3207 a Black Fz(].)i(ECRS)g(fo)r(cuses)g(on)g(encrypting)f
+(shared)g(data)0 3307 y(while)i(allo)n(wing)d(p)r(eers)i(to)h(v)n
+(erify)e(the)i(in)n(tegrit)n(y)e(of)h(the)h(encrypted)f(data)g(that)h
+(they)0 3406 y(are)g(routing.)g(In)h(SUNDR)h([)p 0 1 0
+TeXcolorrgb 907 3406 a
 SDict begin H.S end
- 3236 1858 a 0 1 0 TeXcolorrgb
-FB(20)p 0 1 0 TeXcolorrgb 3319 1804 a
+ 907 3406 a 0 1 0 TeXcolorrgb Fz(20)p
+0 1 0 TeXcolorrgb 990 3353 a
 SDict begin H.R end
- 3319 1804 a 3319
-1858 a
+ 990 3353 a 990 3406 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mazieres02building) cvn H.B /ANN pdfmark end
- 3319 1858 a Black FB(])e(a)523 1957 y(similar)g(problem)h(is)g
-(addressed;)f(here)g(users)g(can)h(detect)h(tamp)r(ering)e(b)n(y)h(the)
-g(\(un)n(trusted\))523 2057 y(serv)n(er)g(that)i(is)g(storing)f(the)h
-(data)g(in)g(a)g(setting)f(where)h(m)n(ultiple)g(users)f(are)g(up)r
-(dating)i(the)523 2157 y(same)h(data.)g(SUNDR)h(ac)n(hiev)n(es)e(what)h
-(is)g(called)g Fu(fork)k(c)l(onsistency)p FB(,)d(a)e(guaran)n(tee)g
-(that)h(if)523 2256 y(the)h(serv)n(er)e(passes)h(a)h(v)n(ersion)e(that)
-i(lac)n(ks)f(the)h(c)n(hanges)f(of)h(one)f(clien)n(t)h(to)g(another)f
-(clien)n(t)523 2356 y(at)g(one)f(p)r(oin)n(t)h(in)h(time,)f(it)g(can)g
-(nev)n(er)f(again)g(mak)n(e)g(the)h(c)n(hanges)e(of)i(either)g(clien)n
-(t)g(visible)523 2456 y(to)i(the)h(others.)f(This)g(is)g(a)g(w)n(eak)n
-(er)f(guaran)n(tee)f(than)j(the)g(optimal)f(situation)g(where)g(an)n(y)
-523 2555 y(misb)r(eha)n(vior)g(is)h(detected;)g(ho)n(w)n(ev)n(er,)e(it)
-j(is)e(the)i(strongest)e(p)r(ossible)g(prop)r(ert)n(y)g(that)h(can)523
-2655 y(b)r(e)39 b(ac)n(hiev)n(ed)f(giv)n(en)g(the)h(securit)n(y)f(mo)r
-(del)h(used.)g(ECRS)g(do)r(es)f(not)h(allo)n(w)f(users)f(with)523
-2754 y(distinct)h(pseudon)n(yms)f(to)h(up)r(date)g(the)g(same)f(con)n
-(ten)n(t)g(without)h(essen)n(tially)f(creating)523 2854
-y(t)n(w)n(o)26 b(\014les.)g(This)h(allo)n(ws)e(ECRS)h(to)g(guaran)n
-(tee)f(that)h(p)r(eers)g(can)g(nev)n(er)g(return)g(an)g
-Fu(invalid)523 2954 y FB(result)h(since)h(ev)n(ery)e(cop)n(y)h(can)g(b)
-r(e)h(uniquely)g(iden)n(ti\014ed)g(at)f(all)h(times.)523
-3118 y
+ 990
+3406 a Black Fz(])f(a)f(similar)g(problem)h(is)f(addressed;)g(here)g
+(users)g(can)0 3506 y(detect)38 b(tamp)r(ering)e(b)n(y)h(the)h(\(un)n
+(trusted\))g(serv)n(er)d(that)i(is)h(storing)e(the)h(data)g(in)g(a)0
+3606 y(setting)27 b(where)g(m)n(ultiple)h(users)f(are)f(up)r(dating)h
+(the)h(same)f(data.)g(SUNDR)h(ac)n(hiev)n(es)0 3705 y(what)20
+b(is)f(called)g Fs(fork)24 b(c)l(onsistency)p Fz(,)c(a)f(guaran)n(tee)e
+(that)j(if)g(the)g(serv)n(er)e(passes)g(a)h(v)n(ersion)0
+3805 y(that)24 b(lac)n(ks)f(the)i(c)n(hanges)d(of)i(one)g(clien)n(t)g
+(to)g(another)f(clien)n(t)h(at)g(one)f(p)r(oin)n(t)i(in)f(time,)g(it)0
+3904 y(can)g(nev)n(er)g(again)g(mak)n(e)g(the)h(c)n(hanges)e(of)i
+(either)g(clien)n(t)f(visible)h(to)g(the)g(others.)f(This)0
+4004 y(is)k(a)f(w)n(eak)n(er)f(guaran)n(tee)g(than)i(the)g(optimal)g
+(situation)f(where)h(an)n(y)f(misb)r(eha)n(vior)f(is)0
+4104 y(detected;)d(ho)n(w)n(ev)n(er,)e(it)j(is)f(the)g(strongest)f(p)r
+(ossible)g(prop)r(ert)n(y)g(that)h(can)g(b)r(e)g(ac)n(hiev)n(ed)0
+4203 y(giv)n(en)37 b(the)i(securit)n(y)e(mo)r(del)h(used.)g(ECRS)g(do)r
+(es)g(not)g(allo)n(w)f(users)g(with)h(distinct)0 4303
+y(pseudon)n(yms)c(to)h(up)r(date)h(the)f(same)g(con)n(ten)n(t)f
+(without)i(essen)n(tially)e(creating)g(t)n(w)n(o)p Black
+0 4374 1086 4 v 52 4430 a Fw(1)p 0 TeXcolorgray 125 4370
+a
 SDict begin H.S end
- 523 3118 a 523 3118 a
-SDict begin 12 H.A end
- 523 3118 a 523 3118 a
-SDict begin [ /View [/XYZ H.V] /Dest (section.1.3) cvn H.B /DEST pdfmark
+ 125 4370 a 0 TeXcolorgray 0 TeXcolorgray 125 4370 a
+SDict begin H.R end
+
+125 4370 a 125 4370 a
+SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.1) cvn H.B /DEST pdfmark
 end
- 523
-3118 a 100 x Fv(3)112 b(ECRS)37 b(enco)s(ding)523 3417
-y FB(The)30 b(primary)e(requiremen)n(ts)h(for)g(the)h(ECRS)f(enco)r
-(ding)g(are)g Fu(plausible)k(deniability)f FB(and)523
-3516 y Fu(r)l(obustness)p FB(.)22 b(Plausible)f(deniabilit)n(y)h
-(describ)r(es)g(the)g(abilit)n(y)g(of)g(the)h(participan)n(ts)e(to)h
-(claim)523 3616 y(ignorance)k(of)i(the)g(nature)f(of)h(transferred)e
-(con)n(ten)n(t.)h(The)h(idea)f(here)h(is)f(that)h(b)n(y)g(making)523
-3716 y(it)g(hard)f(for)g(in)n(termediaries)g(to)g(determine)h(the)g
-(con)n(ten)n(ts)f(that)h(they)g(are)f(routing,)g(they)523
-3815 y(are)h(less)h(lik)n(ely)f(to)i(casually)d(infringe)i(on)g(the)h
-(priv)-5 b(acy)28 b(of)h(other)g(users,)f(to)h(b)r(e)h(forced)e(to)523
-3915 y(do)k(so)f(b)n(y)h(an)g(adv)n(ersary)-7 b(,)30
-b(or)h(to)h(b)r(e)h(held)f(resp)r(onsible)g(for)f(the)i(actions)e(of)h
-(others)g(that)523 4015 y(they)c(w)n(ere)f(un)n(wittingly)h
-(facilitating.)p 1 0 0 TeXcolorrgb 1758 4015 a
+ 125 4370 a Black 92 x Fv(Proto)r(col)27
+b(description)f(from)h(the)e(giFT-F)-6 b(astT)g(rac)n(k)27
+b(pro)t(ject)f(is)h(a)n(v)l(ailable)f(at)p 0 1 0 0 TeXcolorcmyk
+0 4641 a
 SDict begin H.S end
- 1758 4015
-a -31 x FA(2)1795 4015 y
-SDict begin 12 H.L end
- 1795 4015 a 1795 4015 a
-SDict begin [ /Subtype /Link /Dest (Hfootnote.2) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 1795
-4015 a Black 28 w FB(Robustness)f(is)h(the)g(abilit)n(y)g(of)f(the)i
-(enco)r(ding)e(to)523 4114 y(resist)35 b(attac)n(ks)f(suc)n(h)h(as)f
-(data)h(corruption)f(and)h(spam.)g(Spam)g(is)g(di\013eren)n(t)h(from)e
-(data)523 4214 y(corruption)29 b(in)h(that)h(the)f(goal)f(of)h(the)g
-(spammer)g(is)g(to)g(direct)g(the)g(user)g(to)g(undesirable)523
-4313 y(con)n(ten)n(t,)d(p)r(ossibly)h(hiding)f(useful)i(information)e
-(in)h(a)f(sea)g(of)h(useless)f(results.)g(Naturally)p
-Black 523 4382 473 4 v 546 4436 a Fz(2)p 0 TeXcolorgray
-606 4376 a
-SDict begin H.S end
- 606 4376 a 0 TeXcolorgray 0 TeXcolorgray 606
-4376 a
+ 0 4641 a 0 1 0 0 TeXcolorcmyk -17 x Fu
+(http://gnunet.org/papers/FAST)q(-)t(TRA)q(CK-)t(P)q(ROTO)q(COL)p
+0 1 0 0 TeXcolorcmyk 1734 4572 a
 SDict begin H.R end
- 606 4376 a 606 4376 a
-SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.2) cvn H.B /DEST pdfmark
-end
- 606 4376 a Black 92 x Fy(If)19
-b(the)g(data)g(cannot)g(b)r(e)f(iden)n(ti\014ed,)h(editorial)h(con)n
-(trol)g(is)f(tec)n(hnically)g(imp)r(ossible.)i(In)d Fr(Str)l(atton)606
-4559 y(Oakmont)36 b(v.)g(Pr)l(o)l(digy)p Fy(,)g(an)e(In)n(ternet)f(pro)
-n(vider)h(w)n(as)i(found)e(liable)i(for)f(hosting)g(a)g(bulletin)606
-4650 y(b)r(oard)29 b(on)h(whic)n(h)f(o\013ensiv)n(e)g(messages)i(had)e
-(b)r(een)g(p)r(osted.)h(This)g(\014nding)e(resulted)h(b)r(ecause)606
-4742 y(the)g(pro)n(vider)g(had)g(hired)g(individuals)h(to)f(exercise)i
-(editorial)f(con)n(trol)g(o)n(v)n(er)g(con)n(ten)n(t.)f(If)g(the)606
-4833 y(pro)n(vider)17 b(had)g(merely)h(published)f(messages)j(from)e
-(users)g(without)g(in)n(terference,)g(the)f(pro)n(vider)606
-4924 y(w)n(ould)26 b(p)r(oten)n(tially)g(not)g(ha)n(v)n(e)f(b)r(een)g
-(held)h(accoun)n(table)g([)p 0 1 0 TeXcolorrgb 2319 4924
+ 1734 4572 a 1734 4624
 a
-SDict begin H.S end
- 2319 4924 a 0 1 0 TeXcolorrgb Fy(29)p 0 1 0 TeXcolorrgb
-2396 4876 a
-SDict begin H.R end
- 2396 4876 a 2396 4924 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.stratton_oakmont) cvn H.B /ANN pdfmark end
- 2396 4924 a Black
-Fy(].)p Black Black Black eop end
+SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
+/URI /URI (http://gnunet.org/papers/FAST-TRACK-PROTOCOL) >> /Subtype
+/Link H.B /ANN pdfmark end
+ 1734 4624 a Black Fv(.)p Black Black Black eop end
 %%Page: 8 8
 TeXDict begin 8 7 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -6779,154 +6734,161 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark
 end
- 523 232 a Black Fy(8)237 b(C.)27
-b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
-Black 523 448 a FB(the)h(enco)r(ding)e(should)h(not)g(signi\014can)n
-(tly)g(increase)f(the)h(amoun)n(t)g(of)g(data)g(that)g(needs)g(to)523
-548 y(b)r(e)h(transferred.)648 671 y(The)34 b(ECRS)g(enco)r(ding)g(sc)n
-(heme)g(addresses)f(these)i(requiremen)n(ts.)e(ECRS)h(pro)n(vides)523
-770 y(plausible)40 b(deniabilit)n(y)f(b)n(y)h(hiding)g(the)g(nature)f
-(of)h(the)g(queries)f(and)h(resp)r(onses)e(from)523 870
-y(in)n(termediaries)29 b(through)h(encryption.)g(Despite)h(the)g(fact)g
-(that)f(queries)g(and)g(resp)r(onses)523 970 y(are)21
-b(encrypted,)h(in)n(termediaries)e(can)i Fu(verify)i
-FB(that)e(the)g(resp)r(onses)f(are)g(v)-5 b(alid)22 b(with)g(resp)r
-(ect)523 1069 y(to)f(a)g(particular)e(query)-7 b(.)21
-b(Th)n(us,)g(the)g(enco)r(ding)g(mec)n(hanism)g(pro)n(vides)e
-(robustness)h(against)523 1169 y(tamp)r(ering)g(and)g(false)h(replies.)
-e(Additional)i(robustness)e(is)i(gained)f(in)g(ECRS)g(b)n(y)h
-(splitting)523 1268 y(\014les)j(in)n(to)g(blo)r(c)n(ks)f(that)i(can)f
-(b)r(e)g Fu(indep)l(endently)i FB(v)n(eri\014ed,)d(stored)g(and)h
-(distributed)h(across)523 1368 y(the)c(net)n(w)n(ork.)e(This)h(mak)n
-(es)g(it)h(easy)e(for)h(proto)r(cols)f(using)h(ECRS)g(to)h(incorp)r
-(orate)e(features)523 1468 y(suc)n(h)27 b(as)f(sw)n(arm)g(distribution)
-h([)p 0 1 0 TeXcolorrgb 1547 1468 a
+ 0 17 a Black Fv(8)917 b(C.)27 b(Grotho\013,)f(K.)g
+(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
+0 248 a Fz(\014les.)e(This)h(allo)n(ws)e(ECRS)h(to)h(guaran)n(tee)d
+(that)j(p)r(eers)f(can)g(nev)n(er)g(return)g(an)g Fs(invalid)0
+348 y Fz(result)i(since)h(ev)n(ery)e(cop)n(y)h(can)g(b)r(e)h(uniquely)g
+(iden)n(ti\014ed)g(at)f(all)h(times.)0 559 y
 SDict begin H.S end
- 1547 1468 a 0 1 0
-TeXcolorrgb FB(15)p 0 1 0 TeXcolorrgb 1630 1414 a
+ 0 559 a
+0 559 a
+SDict begin 12 H.A end
+ 0 559 a 0 559 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.3) cvn H.B /DEST pdfmark
+end
+ 0 559 a 86 x FA(3)f(ECRS)32 b(enco)s(ding)0
+848 y Fz(The)d(primary)f(requiremen)n(ts)g(for)h(the)h(ECRS)f(enco)r
+(ding)f(are)h Fs(plausible)j(deniability)0 948 y Fz(and)21
+b Fs(r)l(obustness)p Fz(.)f(Plausible)g(deniabilit)n(y)h(describ)r(es)g
+(the)g(abilit)n(y)g(of)g(the)g(participan)n(ts)0 1047
+y(to)g(claim)h(ignorance)d(of)j(the)f(nature)g(of)h(transferred)e(con)n
+(ten)n(t.)h(The)g(idea)g(here)g(is)h(that)0 1147 y(b)n(y)33
+b(making)g(it)h(hard)f(for)g(in)n(termediaries)f(to)h(determine)h(the)g
+(con)n(ten)n(ts)f(that)h(they)0 1247 y(are)27 b(routing,)h(they)h(are)e
+(less)h(lik)n(ely)g(to)h(casually)e(infringe)h(on)g(the)h(priv)-5
+b(acy)28 b(of)g(other)0 1346 y(users,)21 b(to)h(b)r(e)h(forced)e(to)i
+(do)e(so)h(b)n(y)g(an)g(adv)n(ersary)-7 b(,)19 b(or)i(to)h(b)r(e)h
+(held)g(resp)r(onsible)e(for)h(the)0 1446 y(actions)i(of)h(others)g
+(that)g(they)g(w)n(ere)f(un)n(wittingly)i(facilitating.)p
+1 0 0 TeXcolorrgb 2023 1446 a
+SDict begin H.S end
+ 2023 1446 a -30 x Fx(2)2060
+1446 y
+SDict begin 12 H.L end
+ 2060 1446 a 2060 1446 a
+SDict begin [ /Subtype /Link /Dest (Hfootnote.2) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 2060 1446 a Black 25 w
+Fz(Robustness)f(is)g(the)0 1546 y(abilit)n(y)j(of)g(the)g(enco)r(ding)g
+(to)g(resist)g(attac)n(ks)f(suc)n(h)g(as)h(data)f(corruption)g(and)h
+(spam.)0 1645 y(Spam)i(is)h(di\013eren)n(t)f(from)g(data)g(corruption)g
+(in)g(that)h(the)g(goal)e(of)h(the)h(spammer)f(is)0 1745
+y(to)24 b(direct)g(the)h(user)f(to)g(undesirable)g(con)n(ten)n(t,)g(p)r
+(ossibly)f(hiding)i(useful)g(information)0 1844 y(in)32
+b(a)g(sea)f(of)h(useless)g(results.)f(Naturally)h(the)g(enco)r(ding)g
+(should)g(not)g(signi\014can)n(tly)0 1944 y(increase)26
+b(the)i(amoun)n(t)f(of)h(data)f(that)h(needs)f(to)h(b)r(e)g
+(transferred.)125 2046 y(The)k(ECRS)h(enco)r(ding)f(sc)n(heme)g
+(addresses)f(these)i(requiremen)n(ts.)f(ECRS)g(pro-)0
+2145 y(vides)23 b(plausible)g(deniabilit)n(y)g(b)n(y)g(hiding)h(the)g
+(nature)f(of)g(the)h(queries)e(and)h(resp)r(onses)0 2245
+y(from)31 b(in)n(termediaries)e(through)i(encryption.)f(Despite)i(the)f
+(fact)h(that)f(queries)f(and)0 2345 y(resp)r(onses)35
+b(are)g(encrypted,)h(in)n(termediaries)f(can)g Fs(verify)j
+Fz(that)f(the)f(resp)r(onses)f(are)0 2444 y(v)-5 b(alid)39
+b(with)h(resp)r(ect)f(to)g(a)g(particular)e(query)-7
+b(.)39 b(Th)n(us,)g(the)h(enco)r(ding)e(mec)n(hanism)0
+2544 y(pro)n(vides)25 b(robustness)g(against)h(tamp)r(ering)g(and)g
+(false)g(replies.)g(Additional)h(robust-)0 2644 y(ness)32
+b(is)g(gained)g(in)h(ECRS)f(b)n(y)g(splitting)h(\014les)g(in)n(to)f
+(blo)r(c)n(ks)g(that)g(can)g(b)r(e)h Fs(indep)l(en-)0
+2743 y(dently)38 b Fz(v)n(eri\014ed,)f(stored)f(and)h(distributed)h
+(across)e(the)i(net)n(w)n(ork.)e(This)h(mak)n(es)f(it)0
+2843 y(easy)31 b(for)g(proto)r(cols)f(using)h(ECRS)g(to)h(incorp)r
+(orate)e(features)h(suc)n(h)g(as)g(sw)n(arm)f(dis-)0
+2942 y(tribution)h([)p 0 1 0 TeXcolorrgb 377 2942 a
+SDict begin H.S end
+ 377
+2942 a 0 1 0 TeXcolorrgb Fz(15)p 0 1 0 TeXcolorrgb 460
+2889 a
 SDict begin H.R end
- 1630
-1414 a 1630 1468 a
+ 460 2889 a 460 2942 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.hartman99swarm) cvn H.B /ANN pdfmark end
- 1630 1468 a Black FB(],)g(load)f(balancing)g(and)h
-(micro)r(economics)e([)p 0 1 0 TeXcolorrgb 3036 1468
-a
+ 460 2942 a Black Fz(],)g(load)f(balancing)
+g(and)g(micro)r(economics)f([)p 0 1 0 TeXcolorrgb 1885
+2942 a
 SDict begin H.S end
- 3036 1468 a 0 1 0 TeXcolorrgb FB(13)p 0 1 0 TeXcolorrgb
-3119 1414 a
+ 1885 2942 a 0 1 0 TeXcolorrgb Fz(13)p 0 1 0 TeXcolorrgb
+1968 2889 a
 SDict begin H.R end
- 3119 1414 a 3119 1468 a
+ 1968 2889 a 1968 2942 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.ebe2003) cvn H.B /ANN pdfmark end
- 3119 1468 a Black
-FB(].)i(These)523 1567 y(features)g(are)g(also)g(signi\014can)n(t)g
-(from)h(the)g(viewp)r(oin)n(t)g(of)g(scalabilit)n(y)-7
-b(.)27 b(When)h(all)g(handled)523 1667 y(blo)r(c)n(ks)d(are)g(small,)h
-(no)r(des)g(can)f(participate)g(in)i(the)f(net)n(w)n(ork)e(activit)n(y)
-i(ev)n(en)f(if)i(their)f(o)n(wn)523 1767 y(resources)36
-b(are)h(limited.)i(Also,)f(storing)f(small,)h(individually)g(unin)n
-(telligible)g(pieces)g(of)523 1866 y(p)r(oten)n(tially)19
-b(ob)5 b(jectionable)18 b(con)n(ten)n(t)h(is)g(lik)n(ely)f(to)h
-(further)g(supp)r(ort)g(plausible)g(deniabilit)n(y)-7
-b(.)648 1989 y(ECRS)27 b(uses)g(t)n(w)n(o)g(fundamen)n(tal)h(primitiv)n
-(es)g(in)g(the)g(o)n(v)n(erall)d(enco)r(ding)j(sc)n(heme.)f(The)523
-2089 y(ma)5 b(jorit)n(y)25 b(of)i(the)g(data)f(is)g(encrypted)h(with)g
-(a)f(v)-5 b(arian)n(t)26 b(of)g(F)-7 b(reenet's)27 b(CHK)f(enco)r(ding)
-g([)p 0 1 0 TeXcolorrgb 3317 2089 a
+ 1968 2942 a Black
+Fz(].)i(These)g(features)f(are)0 3042 y(also)g(signi\014can)n(t)g(from)
+h(the)h(viewp)r(oin)n(t)f(of)g(scalabilit)n(y)-7 b(.)30
+b(When)i(all)e(handled)i(blo)r(c)n(ks)0 3142 y(are)g(small,)g(no)r(des)
+h(can)g(participate)f(in)h(the)g(net)n(w)n(ork)f(activit)n(y)g(ev)n(en)
+g(if)i(their)f(o)n(wn)0 3241 y(resources)28 b(are)i(limited.)h(Also,)f
+(storing)f(small,)h(individually)h(unin)n(telligible)f(pieces)0
+3341 y(of)37 b(p)r(oten)n(tially)h(ob)5 b(jectionable)36
+b(con)n(ten)n(t)h(is)g(lik)n(ely)g(to)h(further)f(supp)r(ort)g
+(plausible)0 3441 y(deniabilit)n(y)-7 b(.)125 3542 y(ECRS)27
+b(uses)h(t)n(w)n(o)g(fundamen)n(tal)g(primitiv)n(es)g(in)g(the)h(o)n(v)
+n(erall)d(enco)r(ding)h(sc)n(heme.)0 3642 y(The)39 b(ma)5
+b(jorit)n(y)38 b(of)g(the)i(data)e(is)h(encrypted)g(with)g(a)g(v)-5
+b(arian)n(t)37 b(of)i(F)-7 b(reenet's)39 b(CHK)0 3742
+y(enco)r(ding)25 b([)p 0 1 0 TeXcolorrgb 369 3742 a
 SDict begin H.S end
- 3317 2089 a 0 1 0
-TeXcolorrgb FB(5)p 0 1 0 TeXcolorrgb 3359 2035 a
+ 369
+3742 a 0 1 0 TeXcolorrgb Fz(5)p 0 1 0 TeXcolorrgb 410
+3688 a
 SDict begin H.R end
- 3359
-2035 a 3359 2089 a
+ 410 3688 a 410 3742 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.clark99distributed) cvn H.B /ANN pdfmark end
- 3359 2089 a Black FB(],)523 2188 y(where)35
-b(CHK)h(stands)g(for)f(Con)n(ten)n(t)h(Hash)g(Key)-7
-b(.)35 b(In)h(other)g(w)n(ords,)e(the)j(con)n(ten)n(t)e(is)h(en-)523
-2288 y(crypted)31 b(with)g(a)g(k)n(ey)g(that)g(is)g(deriv)n(ed)f(from)h
-(a)g(cryptographic)e(hash)h(of)i(the)f(plain)n(text.)523
-2387 y(The)23 b(encrypted)g(con)n(ten)n(t)g(is)g(hashed)f(again)g(to)h
-(obtain)g(the)g(query)g(hash)f(whic)n(h)h(is)g(used)g(to)523
-2487 y(request)i(the)i(con)n(ten)n(t.)e(This)h(k)n(ey-query)e(pair)h
-(is)h(what)g(the)g(receiv)n(er)f(needs)h(to)f(do)n(wnload)523
-2587 y(and)i(decrypt)h(the)g(con)n(ten)n(t.)648 2709
-y(The)38 b(primary)g(di\013erence)g(b)r(et)n(w)n(een)g(the)h(use)g(of)f
-(CHK)h(in)g(ECRS)f(and)g(that)h(used)523 2809 y(in)29
-b([)p 0 1 0 TeXcolorrgb 644 2809 a
+ 410 3742 a Black Fz(],)h(where)f(CHK)g
+(stands)g(for)g(Con)n(ten)n(t)g(Hash)g(Key)-7 b(.)24
+b(In)i(other)f(w)n(ords,)f(the)0 3841 y(con)n(ten)n(t)30
+b(is)f(encrypted)h(with)g(a)g(k)n(ey)f(that)h(is)g(deriv)n(ed)f(from)h
+(a)f(cryptographic)f(hash)0 3941 y(of)d(the)g(plain)n(text.)f(The)h
+(encrypted)f(con)n(ten)n(t)h(is)f(hashed)g(again)g(to)g(obtain)h(the)g
+(query)0 4040 y(hash)j(whic)n(h)g(is)h(used)f(to)g(request)g(the)h(con)
+n(ten)n(t.)f(This)h(k)n(ey-query)d(pair)i(is)g(what)h(the)0
+4140 y(receiv)n(er)d(needs)h(to)h(do)n(wnload)e(and)i(decrypt)f(the)h
+(con)n(ten)n(t.)p Black 0 4218 1086 4 v 52 4274 a Fw(2)p
+0 TeXcolorgray 125 4215 a
 SDict begin H.S end
- 644 2809 a 0 1 0 TeXcolorrgb
-FB(5)p 0 1 0 TeXcolorrgb 685 2756 a
+ 125 4215 a 0 TeXcolorgray 0
+TeXcolorgray 125 4215 a
 SDict begin H.R end
- 685 2756 a 685 2809
-a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.clark99distributed) cvn H.B /ANN pdfmark end
- 685 2809 a Black FB(])g(is)f(that)h(ECRS)g(do)r(es)f(not)g(sub)5
-b(ject)29 b(en)n(tire)f(\014les)g(to)h(the)g(CHK)f(enco)r(ding.)g
-(Instead,)523 2909 y(\014les)f(are)g(split)h(in)n(to)f(\014xed-size)g
-(blo)r(c)n(ks)f(whic)n(h)i(could)f(then)h(b)r(e)g(individually)g
-(distributed)523 3008 y(\(and)34 b(replicated\))g(across)e(p)r(eers)i
-(in)h(the)f(net)n(w)n(ork;)f(this)i(is)f(a)f(natural)h(w)n(a)n(y)f(to)h
-(balance)523 3108 y(the)f(load)e(and)i(to)f(enable)g(sw)n(arming.)f
-(These)h(\014xed-sized)g(blo)r(c)n(ks)f(can)h(b)r(e)h(individually)523
-3208 y(iden)n(ti\014ed,)d(encrypted,)e(decrypted)h(and)g(v)n
-(eri\014ed.)f(Eac)n(h)g(blo)r(c)n(k)g(is)h(iden)n(ti\014ed)h(b)n(y)e
-(one)h(or)523 3307 y(t)n(w)n(o)24 b(hash)h(co)r(des,)g(and)g(the)h(blo)
-r(c)n(ks)e(are)g(encrypted)h(using)g(a)g(k)n(ey)f(that)i(is)f(indep)r
-(enden)n(t)h(of)523 3407 y(the)g(hashes)e(used)i(for)f(iden)n
-(ti\014cation.)g(V)-7 b(eri\014cation)25 b(only)g(requires)f(the)h
-(encrypted)h(blo)r(c)n(k)523 3506 y(and)k(the)g(query;)g(it)g(do)r(es)g
-(not)g(rev)n(eal)f(the)h(k)n(ey)f(required)g(to)h(decrypt)g(the)h(blo)r
-(c)n(k.)e(ECRS)523 3606 y(guaran)n(tees)23 b(that)j(it)g(is)g(hard)f
-(to)g(forge)g(a)g(resp)r(onse)f(that)i(passes)e(v)n(eri\014cation)h
-(for)g(a)g(giv)n(en)523 3706 y(query)-7 b(,)29 b(and)h(splitting)g
-(\014les)g(in)n(to)f(blo)r(c)n(ks)g(allo)n(ws)g(ECRS)g(to)h(detect)g
-(data)g(corruption)e(on)523 3805 y(the)34 b(blo)r(c)n(k)f(lev)n(el.)g
-(Malicious)g(p)r(eers)g(cannot)g(transmit)h(more)e(than)i(the)g
-(selected)g(blo)r(c)n(k)523 3905 y(size)27 b(of)h(in)n(v)-5
-b(alid)27 b(data)g(b)r(efore)h(b)r(eing)f(detected.)648
-4028 y(The)18 b(second)h(primitiv)n(e)f(used)h(b)n(y)f(ECRS,)h(the)g
-Fu(KBlo)l(ck)p FB(,)h(is)f(completely)f(no)n(v)n(el.)g
-Fu(KBlo)l(ck)p FB(s)523 4127 y(allo)n(w)24 b(users)h(to)g(securely)f
-(obtain)i(the)f(k)n(ey-query)f(pair)g(b)n(y)i(en)n(tering)e(a)h
-(natural)g(language)523 4227 y(k)n(eyw)n(ord)35 b(selected)i(b)n(y)f
-(the)h(con)n(ten)n(t)f(pro)n(vider.)g(The)g(primitiv)n(e)h(used)g(to)f
-(ac)n(hiev)n(e)g(this)523 4327 y(in)e([)p 0 1 0 TeXcolorrgb
-649 4327 a
+ 125 4215 a 125 4215 a
+SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.2) cvn H.B /DEST pdfmark
+end
+ 125 4215
+a Black 91 x Fv(If)35 b(the)h(data)g(cannot)g(b)r(e)f(iden)n(ti\014ed,)
+h(editorial)h(con)n(trol)f(is)h(tec)n(hnically)f(imp)r(ossible.)0
+4397 y(In)29 b Ft(Str)l(atton)34 b(Oakmont)e(v.)f(Pr)l(o)l(digy)p
+Fv(,)h(an)d(In)n(ternet)g(pro)n(vider)h(w)n(as)h(found)e(liable)i(for)g
+(host-)0 4489 y(ing)g(a)f(bulletin)h(b)r(oard)f(on)g(whic)n(h)h
+(o\013ensiv)n(e)f(messages)j(had)d(b)r(een)g(p)r(osted.)g(This)h
+(\014nding)0 4580 y(resulted)g(b)r(ecause)h(the)e(pro)n(vider)h(had)g
+(hired)g(individuals)g(to)g(exercise)h(editorial)g(con)n(trol)0
+4671 y(o)n(v)n(er)d(con)n(ten)n(t.)g(If)g(the)g(pro)n(vider)g(had)f
+(merely)i(published)e(messages)j(from)f(users)g(without)0
+4762 y(in)n(terference,)d(the)e(pro)n(vider)g(w)n(ould)h(p)r(oten)n
+(tially)g(not)g(ha)n(v)n(e)f(b)r(een)g(held)h(accoun)n(table)g([)p
+0 1 0 TeXcolorrgb 2584 4762 a
 SDict begin H.S end
- 649 4327 a 0 1 0 TeXcolorrgb FB(2)p 0 1 0
-TeXcolorrgb 691 4273 a
+ 2584 4762 a 0 1 0 TeXcolorrgb
+Fv(29)p 0 1 0 TeXcolorrgb 2661 4714 a
 SDict begin H.R end
- 691 4273 a 691 4327 a
+ 2661 4714 a 2661
+4762 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.esed) cvn H.B /ANN pdfmark end
- 691 4327
-a Black FB(],)g(the)g(triple)g(hash,)f(is)h(impro)n(v)n(ed)f(on)g(in)h
-(this)h(w)n(ork)d(in)i(that)g Fu(KBlo)l(ck)p FB(s)h Fu(c)l(annot)f
-FB(b)r(e)523 4426 y(attac)n(k)n(ed)19 b(successfully)g(b)n(y)g(a)g
-(non-guessing)f(in)n(termediary)-7 b(.)19 b(The)h(triple)g(hash)f(sc)n
-(heme)g(w)n(as)523 4526 y(vulnerable)37 b(to)g(p)r(ossibile)g
-(substitution)h(attac)n(ks)e(b)n(y)h(in)n(termediaries.)g
-Fu(KBlo)l(ck)p FB(s)h(defeat)523 4625 y(this)29 b(attac)n(k)f(b)n(y)h
-(signing)f(con)n(ten)n(t)g(adv)n(ertisemen)n(ts)f(using)i
-(deterministically)f(generated)523 4725 y(public)34 b(k)n(eys.)e
-(Additionally)-7 b(,)33 b(b)n(y)g(using)f Fu(KBlo)l(ck)p
-FB(s,)i(do)r(cumen)n(ts)f(can)g(b)r(e)g(inserted)g(under)523
-4825 y(m)n(ultiple)h(k)n(eys)e(at)g(a)h(minimal)g(cost)f(in)i(terms)e
-(of)h(space.)f(Users)h(can)f(p)r(erform)h(b)r(o)r(olean)523
-4924 y(searc)n(hes)c(of)i(the)g(form)g(\\a)f(AND)i(b")f(whic)n(h)g
-(then)g(return)g(the)g(do)r(cumen)n(ts)g(whic)n(h)g(w)n(ere)p
-Black Black eop end
+(cite.stratton_oakmont) cvn H.B /ANN pdfmark end
+ 2661 4762 a Black Fv(].)p Black Black Black eop
+end
 %%Page: 9 9
 TeXDict begin 9 8 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -6934,208 +6896,171 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark
 end
- 523 232 a Black 1036 w Fy(An)25
-b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)238
-b(9)p Black Black 1846 442 a Fq(K)5 b(B)t(l)q(ock)1980
-526 y Fp(\017)p Fo(\017)p 1979 526 4 60 v 1836 603 a
-Fq(I)h(B)t(l)q(ock)2072 612 y Fn(>)1249 720 y Fp(r)p
-Fo(r)p Fm(e)1289 713 y(e)1329 705 y(e)1369 697 y(e)1409
-690 y(e)1449 682 y(e)1489 675 y(e)1530 667 y(e)1570 659
-y(e)1610 652 y(e)1650 644 y(e)1690 636 y(e)1730 629 y(e)1771
-621 y(e)1980 722 y Fp(\017)p Fo(\017)p 1979 723 4 4 v
-1979 709 V 1979 695 V 1979 681 V 1979 667 V 1979 653
-V 1979 639 V 766 w Fp(,)p Fo(,)2706 714 y Fm(Y)2666 707
-y(Y)2626 700 y(Y)2586 692 y(Y)2547 685 y(Y)2507 678 y(Y)2467
-670 y(Y)2427 663 y(Y)2388 656 y(Y)2348 648 y(Y)2308 641
-y(Y)2268 634 y(Y)2229 627 y(Y)2189 619 y(Y)2149 612 y(Y)953
-773 y Fq(I)g(B)t(l)q(ock)1189 781 y Fz(1)823 866 y Fp(v)p
-Fo(v)p Fm(m)857 851 y(m)890 837 y(m)923 823 y(m)1088
-892 y Fp(\017)p Fo(\017)p 1087 892 V 1087 878 V 1087
-864 V 1087 850 V 1087 836 V 1087 822 V 1087 808 V 1349
-865 a Fp(\()p Fo(\()1311 849 y Fm(Q)1279 834 y(Q)1246
-820 y(Q)1214 806 y(Q)1935 755 y Fq(:)14 b(:)f(:)1752
-904 y Fp(z)p Fo(z)p 1751 905 V 1764 897 V 1777 888 V
-1790 879 V 1803 870 V 1817 861 V 1830 852 V 1843 844
-V 1856 835 V 1869 826 V 1883 817 V 1896 808 V 1909 799
-V 1922 790 V 1935 782 V 1980 892 a Fp(\017)p Fo(\017)p
-1979 893 V 1979 877 V 1979 861 V 1979 845 V 1979 829
-V 1979 813 V 1979 798 V 1979 782 V 2208 904 a Fp($)p
-Fo($)p 2206 905 V 2193 897 V 2180 888 V 2167 879 V 2154
-870 V 2140 861 V 2127 852 V 2114 844 V 2101 835 V 2088
-826 V 2074 817 V 2061 808 V 2048 799 V 2035 790 V 2022
-782 V 2771 772 a Fq(I)6 b(B)t(l)q(ock)3007 781 y Fl(k)2634
-866 y Fp(v)p Fo(v)2634 865 y Fm(l)2668 851 y(l)2703 836
-y(l)2737 822 y(l)2908 892 y Fp(\017)p Fo(\017)p 2907
-892 V 2907 878 V 2907 864 V 2907 850 V 2907 836 V 2907
-822 V 2907 808 V 3177 866 a Fp(\()p Fo(\()3139 849 y
-Fm(Q)3105 835 y(Q)3072 821 y(Q)3038 806 y(Q)548 942 y
-Fq(D)r(B)t(l)q(ock)809 950 y Fz(1)696 1110 y Fp(\017)p
-Fo(\017)p 695 1110 4 135 v 1044 925 a Fq(:)13 b(:)g(:)1088
-1110 y Fp(\017)p Fo(\017)p 1087 1111 4 4 v 1087 1095
-V 1087 1079 V 1087 1063 V 1087 1047 V 1087 1031 V 1087
-1015 V 1087 999 V 1087 983 V 1087 967 V 1087 951 V 1333
-942 a Fq(D)r(B)t(l)q(ock)1594 951 y Fl(l)1476 1110 y
-Fp(\017)p Fo(\017)p 1474 1110 4 134 v 1935 925 a Fq(:)h(:)f(:)1980
-1110 y Fp(\017)p Fo(\017)p 1979 1111 4 4 v 1979 1095
-V 1979 1079 V 1979 1063 V 1979 1047 V 1979 1031 V 1979
-1015 V 1979 999 V 1979 983 V 1979 967 V 1979 951 V 2342
-942 a Fq(D)r(B)t(l)q(ock)2603 950 y Fl(m)2502 1110 y
-Fp(\017)p Fo(\017)p 2501 1110 4 135 v 2863 925 a Fq(:)h(:)f(:)2908
-1110 y Fp(\017)p Fo(\017)p 2907 1111 4 4 v 2907 1095
-V 2907 1079 V 2907 1063 V 2907 1047 V 2907 1031 V 2907
-1015 V 2907 999 V 2907 983 V 2907 967 V 2907 951 V 3154
-942 a Fq(D)r(B)t(l)q(ock)3415 950 y Fl(n)3306 1110 y
-Fp(\017)p Fo(\017)p 3305 1110 4 135 v 597 1114 2 2 v
-599 1115 2761 4 v 3360 1114 2 2 v 596 1225 4 111 v 3362
-1225 V 597 1228 2 2 v 599 1229 2761 4 v 3360 1228 2 2
-v 1725 1183 a Fx(Original)41 b(data)523 1378 y Fs(Fig.)15
-b(1.)p 0 TeXcolorgray 814 1279 a
+ 0 17 a Black Fv(An)25 b(Enco)r(ding)h(for)h
+(Censorship-Resistan)n(t)f(Sharing)1106 b(9)p Black 125
+248 a Fz(The)24 b(primary)g(di\013erence)g(b)r(et)n(w)n(een)h(the)g
+(use)f(of)h(CHK)f(in)h(ECRS)g(and)f(that)h(used)0 348
+y(in)40 b([)p 0 1 0 TeXcolorrgb 132 348 a
 SDict begin H.S end
- 814 1279 a 0 TeXcolorgray
-0 TeXcolorgray 814 1279 a
+ 132 348 a 0 1 0
+TeXcolorrgb Fz(5)p 0 1 0 TeXcolorrgb 174 294 a
 SDict begin H.R end
- 814 1279 a 814 1279 a
-SDict begin [ /View [/XYZ H.V] /Dest (figure.1.1) cvn H.B /DEST pdfmark
-end
- 814 1279
-a Black 99 x FB(Simple)40 b(enco)r(ding)g(of)f(a)h(\014le)g(using)f(a)h
-(tree)f(of)h(CHK)g(blo)r(c)n(ks)f(\()p Ft(D)r(B)t(l)r(ock)s
-FB(s)g(and)523 1478 y Ft(I)7 b(B)t(l)r(ock)s FB(s)41
-b(are)f(CHK)i(enco)r(ded\))f(with)h(one)g Ft(K)6 b(B)t(l)r(ock)43
-b FB(to)e(allo)n(w)g(for)g(a)g(k)n(eyw)n(ord-based)523
-1578 y(searc)n(h.)p Black Black Black 523 2069 a(inserted)32
-b(under)g(a)f(matc)n(hing)h(set)g(of)g(k)n(eyw)n(ords.)d(Before)j(the)g
-(do)n(wnload,)f(the)h(user)f(can)523 2169 y(re\014ne)c(the)h(searc)n(h)
-e(results)h(using)h(the)g(metadata)f(asso)r(ciated)f(with)i(the)g
-(\014le.)648 2291 y(The)23 b(rest)g(of)h(this)g(Section)f(giv)n(es)g(a)
-g(b)r(ottom-up)h(description)f(of)g(ECRS.)h(After)g(a)f(brief)523
-2391 y(o)n(v)n(erview,)29 b(P)n(art)p 1 0 0 TeXcolorrgb
-1083 2391 a
+ 174 294
+a 174 348 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.clark99distributed) cvn H.B /ANN pdfmark end
+ 174 348 a Black Fz(])g(is)g(that)g(ECRS)g(do)r(es)g(not)g
+(sub)5 b(ject)40 b(en)n(tire)g(\014les)g(to)g(the)g(CHK)g(enco)r(ding.)
+0 448 y(Instead,)22 b(\014les)g(are)f(split)i(in)n(to)f(\014xed-size)f
+(blo)r(c)n(ks)h(whic)n(h)g(could)g(then)g(b)r(e)h(individually)0
+547 y(distributed)34 b(\(and)f(replicated\))g(across)f(p)r(eers)h(in)g
+(the)h(net)n(w)n(ork;)e(this)i(is)f(a)g(natural)0 647
+y(w)n(a)n(y)d(to)h(balance)f(the)h(load)g(and)f(to)h(enable)g(sw)n
+(arming.)e(These)i(\014xed-sized)g(blo)r(c)n(ks)0 746
+y(can)21 b(b)r(e)g(individually)g(iden)n(ti\014ed,)h(encrypted,)f
+(decrypted)f(and)h(v)n(eri\014ed.)g(Eac)n(h)e(blo)r(c)n(k)0
+846 y(is)30 b(iden)n(ti\014ed)g(b)n(y)g(one)g(or)f(t)n(w)n(o)g(hash)h
+(co)r(des,)g(and)g(the)g(blo)r(c)n(ks)f(are)g(encrypted)h(using)0
+946 y(a)e(k)n(ey)f(that)h(is)g(indep)r(enden)n(t)h(of)f(the)h(hashes)e
+(used)h(for)g(iden)n(ti\014cation.)f(V)-7 b(eri\014cation)0
+1045 y(only)27 b(requires)e(the)i(encrypted)g(blo)r(c)n(k)g(and)f(the)i
+(query;)e(it)h(do)r(es)g(not)g(rev)n(eal)e(the)j(k)n(ey)0
+1145 y(required)i(to)h(decrypt)g(the)h(blo)r(c)n(k.)e(ECRS)h(guaran)n
+(tees)f(that)h(it)h(is)f(hard)f(to)h(forge)f(a)0 1245
+y(resp)r(onse)i(that)i(passes)e(v)n(eri\014cation)g(for)h(a)g(giv)n(en)
+f(query)-7 b(,)33 b(and)g(splitting)h(\014les)f(in)n(to)0
+1344 y(blo)r(c)n(ks)25 b(allo)n(ws)g(ECRS)h(to)g(detect)h(data)f
+(corruption)f(on)h(the)g(blo)r(c)n(k)g(lev)n(el.)g(Malicious)0
+1444 y(p)r(eers)40 b(cannot)f(transmit)h(more)f(than)h(the)h(selected)e
+(blo)r(c)n(k)h(size)g(of)f(in)n(v)-5 b(alid)40 b(data)0
+1543 y(b)r(efore)27 b(b)r(eing)h(detected.)125 1647 y(The)33
+b(second)f(primitiv)n(e)h(used)g(b)n(y)g(ECRS,)g(the)g
+Fs(KBlo)l(ck)p Fz(,)h(is)f(completely)g(no)n(v)n(el.)0
+1747 y Fs(KBlo)l(ck)p Fz(s)40 b(allo)n(w)e(users)g(to)g(securely)g
+(obtain)h(the)g(k)n(ey-query)e(pair)i(b)n(y)f(en)n(tering)g(a)0
+1847 y(natural)31 b(language)f(k)n(eyw)n(ord)g(selected)i(b)n(y)f(the)i
+(con)n(ten)n(t)e(pro)n(vider.)f(The)i(primitiv)n(e)0
+1946 y(used)g(to)g(ac)n(hiev)n(e)e(this)i(in)h([)p 0 1 0
+TeXcolorrgb 883 1946 a
 SDict begin H.S end
- 1083 2391 a 1 0 0 TeXcolorrgb FB(3.2)p 1 0 0
-TeXcolorrgb 1189 2337 a
+ 883 1946 a 0 1 0 TeXcolorrgb Fz(2)p
+0 1 0 TeXcolorrgb 924 1893 a
 SDict begin H.R end
- 1189 2337 a 1189 2391 a
+ 924 1893 a 924 1946 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.esed) cvn H.B /ANN pdfmark end
+ 924
+1946 a Black Fz(],)f(the)g(triple)g(hash,)g(is)g(impro)n(v)n(ed)e(on)i
+(in)g(this)g(w)n(ork)f(in)0 2046 y(that)e Fs(KBlo)l(ck)p
+Fz(s)h Fs(c)l(annot)f Fz(b)r(e)g(attac)n(k)n(ed)f(successfully)g(b)n(y)
+h(a)f(non-guessing)f(in)n(termedi-)0 2145 y(ary)-7 b(.)23
+b(The)h(triple)f(hash)h(sc)n(heme)f(w)n(as)g(vulnerable)g(to)g(p)r
+(ossibile)h(substitution)g(attac)n(ks)0 2245 y(b)n(y)29
+b(in)n(termediaries.)f Fs(KBlo)l(ck)p Fz(s)i(defeat)f(this)g(attac)n(k)
+g(b)n(y)g(signing)f(con)n(ten)n(t)h(adv)n(ertise-)0 2345
+y(men)n(ts)d(using)h(deterministically)f(generated)f(public)i(k)n(eys.)
+e(Additionally)-7 b(,)27 b(b)n(y)f(using)0 2444 y Fs(KBlo)l(ck)p
+Fz(s,)i(do)r(cumen)n(ts)g(can)f(b)r(e)h(inserted)f(under)g(m)n(ultiple)
+h(k)n(eys)e(at)i(a)f(minimal)g(cost)0 2544 y(in)g(terms)g(of)g(space.)f
+(Users)h(can)f(p)r(erform)h(b)r(o)r(olean)f(searc)n(hes)g(of)h(the)g
+(form)g(\\a)f(AND)0 2644 y(b")f(whic)n(h)h(then)g(return)f(the)h(do)r
+(cumen)n(ts)f(whic)n(h)h(w)n(ere)f(inserted)g(under)g(a)g(matc)n(hing)0
+2743 y(set)h(of)g(k)n(eyw)n(ords.)e(Before)h(the)i(do)n(wnload,)d(the)j
+(user)e(can)h(re\014ne)g(the)g(searc)n(h)e(results)0
+2843 y(using)j(the)h(metadata)f(asso)r(ciated)f(with)j(the)f(\014le.)
+125 2947 y(The)d(rest)g(of)g(this)h(Section)f(giv)n(es)f(a)h(b)r
+(ottom-up)g(description)g(of)g(ECRS.)h(After)f(a)0 3046
+y(brief)j(o)n(v)n(erview,)d(P)n(art)p 1 0 0 TeXcolorrgb
+745 3046 a
+SDict begin H.S end
+ 745 3046 a 1 0 0 TeXcolorrgb Fz(3.2)p 1 0 0
+TeXcolorrgb 851 2993 a
+SDict begin H.R end
+ 851 2993 a 851 3046 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(subsection.1.3.2) cvn H.B /ANN pdfmark end
- 1189
-2391 a Black 31 w FB(sho)n(ws)h(ho)n(w)g(individual)h(data)g(blo)r(c)n
-(ks)f(are)g(encrypted)h(in)g(order)f(to)523 2490 y(mak)n(e)c(it)i(imp)r
-(ossible)f(for)g(the)h(in)n(termediaries)e(to)h(determine)g(what)g
-(they)h(are)e(storing)g(or)523 2590 y(transmitting.)k(P)n(art)p
-1 0 0 TeXcolorrgb 1219 2590 a
+(subsection.3.2) cvn H.B /ANN pdfmark end
+ 851 3046
+a Black 28 w Fz(sho)n(ws)h(ho)n(w)h(individual)h(data)f(blo)r(c)n(ks)g
+(are)g(encrypted)h(in)0 3146 y(order)h(to)h(mak)n(e)f(it)i(imp)r
+(ossible)f(for)f(the)i(in)n(termediaries)d(to)i(determine)h(what)f
+(they)0 3245 y(are)f(storing)f(or)h(transmitting.)g(P)n(art)p
+1 0 0 TeXcolorrgb 1220 3245 a
 SDict begin H.S end
- 1219 2590 a 1 0 0 TeXcolorrgb
-FB(3.3)p 1 0 0 TeXcolorrgb 1325 2536 a
+ 1220 3245 a 1 0 0 TeXcolorrgb
+Fz(3.3)p 1 0 0 TeXcolorrgb 1326 3192 a
 SDict begin H.R end
- 1325 2536 a 1325
-2590 a
+ 1326 3192 a 1326
+3245 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(subsection.1.3.3) cvn H.B /ANN pdfmark end
- 1325 2590 a Black 31 w FB(then)g(describ)r(es)f(ho)n(w)h
-(\014les)g(are)f(split)h(in)n(to)g(those)f(data)h(blo)r(c)n(ks.)523
-2689 y(P)n(arts)p 1 0 0 TeXcolorrgb 747 2689 a
+(subsection.3.3) cvn H.B /ANN pdfmark end
+ 1326 3245 a Black 30 w Fz(then)h(describ)r(es)f(ho)n(w)g
+(\014les)g(are)g(split)h(in)n(to)0 3345 y(those)h(data)g(blo)r(c)n(ks.)
+f(P)n(arts)p 1 0 0 TeXcolorrgb 917 3345 a
 SDict begin H.S end
- 747 2689
-a 1 0 0 TeXcolorrgb FB(3.4)p 1 0 0 TeXcolorrgb 853 2636
+ 917 3345 a
+1 0 0 TeXcolorrgb Fz(3.4)p 1 0 0 TeXcolorrgb 1023 3292
 a
 SDict begin H.R end
- 853 2636 a 853 2689 a
+ 1023 3292 a 1023 3345 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(subsection.1.3.4) cvn H.B /ANN pdfmark end
- 853 2689 a Black 31 w FB(through)p
-1 0 0 TeXcolorrgb 1201 2689 a
+(subsection.3.4) cvn H.B /ANN pdfmark end
+ 1023 3345 a Black 32 w Fz(through)p
+1 0 0 TeXcolorrgb 1372 3345 a
 SDict begin H.S end
- 1201 2689 a 1 0 0 TeXcolorrgb
-FB(3.6)p 1 0 0 TeXcolorrgb 1307 2636 a
+ 1372 3345 a 1 0 0 TeXcolorrgb
+Fz(3.6)p 1 0 0 TeXcolorrgb 1478 3292 a
 SDict begin H.R end
- 1307 2636 a 1307
-2689 a
+ 1478 3292 a 1478
+3345 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(subsection.1.3.6) cvn H.B /ANN pdfmark end
- 1307 2689 a Black 30 w FB(motiv)-5 b(ate)31 b(and)g(explain)f
-(ho)n(w)g(ECRS)g(enables)g(users)g(to)h(searc)n(h)523
-2789 y(for)c(con)n(ten)n(t)g(without)h(exp)r(osing)f(the)h(plain)n
-(text)f(of)h(the)g(k)n(eyw)n(ord)d(or)i(the)h(corresp)r(onding)523
-2889 y(con)n(ten)n(t)d(and)g(ho)n(w)g(in)n(termediaries)f(can)h(v)n
-(erify)g(that)h(a)f(giv)n(en)f(encrypted)i(reply)f(matc)n(hes)523
-2988 y(the)30 b(\(encrypted\))h(query)-7 b(.)29 b(Finally)-7
-b(,)30 b(the)g(core)f(of)h(ECRS)g(is)g(summarized)f(in)h(the)g(form)g
-(of)523 3088 y(the)e(enco)r(ding)f(algorithm)g(and)g(a)g(proto)r(col)g
-(example.)523 3344 y
+(subsection.3.6) cvn H.B /ANN pdfmark end
+ 1478 3345 a Black 32 w Fz(motiv)-5 b(ate)31 b(and)g(explain)g
+(ho)n(w)g(ECRS)0 3445 y(enables)k(users)f(to)h(searc)n(h)f(for)h(con)n
+(ten)n(t)g(without)h(exp)r(osing)e(the)i(plain)n(text)f(of)h(the)0
+3544 y(k)n(eyw)n(ord)f(or)h(the)i(corresp)r(onding)d(con)n(ten)n(t)i
+(and)g(ho)n(w)f(in)n(termediaries)g(can)h(v)n(erify)0
+3644 y(that)f(a)f(giv)n(en)f(encrypted)i(reply)f(matc)n(hes)f(the)i
+(\(encrypted\))g(query)-7 b(.)35 b(Finally)-7 b(,)36
+b(the)0 3744 y(core)30 b(of)h(ECRS)g(is)g(summarized)f(in)h(the)h(form)
+e(of)h(the)h(enco)r(ding)f(algorithm)e(and)i(a)0 3843
+y(proto)r(col)26 b(example.)0 4063 y
 SDict begin H.S end
- 523 3344 a 523 3344 a
+ 0 4063 a 0 4063
+a
 SDict begin 12 H.A end
- 523 3344 a
-523 3344 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.1) cvn H.B /DEST
+ 0 4063 a 0 4063 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.1) cvn H.B /DEST
 pdfmark end
- 523 3344 a 106 x Fs(3.1)95 b(Ov)m(erview)523
-3729 y FB(In)25 b(ECRS,)f(the)h(enco)r(ded)g(represen)n(tation)e(of)h
-(a)g(\014le)h(is)f(a)h(collection)f(of)g(blo)r(c)n(ks.)g(There)g(are)
-523 3828 y(four)h(t)n(yp)r(es)g(of)g(blo)r(c)n(ks:)f
-Fu(DBlo)l(cks)p FB(,)i Fu(IBlo)l(cks)p FB(,)h Fu(SBlo)l(cks)f
-FB(and)f Fu(KBlo)l(cks)p FB(.)h(The)f(maxim)n(um)g(size)523
-3928 y(of)f(all)g(blo)r(c)n(ks)g(in)h(ECRS)f(is)g(supp)r(osed)g(to)h(b)
-r(e)f(\014xed)h(as)f(some)f(small)h(n)n(um)n(b)r(er)h(\(e.g.)f(32Kb\).)
-523 4028 y(The)i(blo)r(c)n(ks)f(are)g(used)h(to)g(create)f(a)h(tree)g
-(structure)f(of)h(the)h(enco)r(ded)f(\014le)g(\(see)g(Figure)p
-1 0 0 TeXcolorrgb 3308 4028 a
+ 0 4063 a 87 x Fs(3.1)j(Overview)0
+4364 y Fz(In)22 b(ECRS,)g(the)h(enco)r(ded)f(represen)n(tation)e(of)i
+(a)g(\014le)h(is)f(a)f(collection)h(of)g(blo)r(c)n(ks.)f(There)0
+4464 y(are)27 b(four)g(t)n(yp)r(es)h(of)g(blo)r(c)n(ks:)f
+Fs(DBlo)l(cks)p Fz(,)h Fs(IBlo)l(cks)p Fz(,)i Fs(SBlo)l(cks)e
+Fz(and)g Fs(KBlo)l(cks)p Fz(.)h(The)f(max-)0 4563 y(im)n(um)39
+b(size)g(of)g(all)f(blo)r(c)n(ks)g(in)i(ECRS)e(is)h(supp)r(osed)g(to)f
+(b)r(e)i(\014xed)f(as)f(some)g(small)0 4663 y(n)n(um)n(b)r(er)31
+b(\(e.g.)h(32Kb\).)f(The)h(blo)r(c)n(ks)e(are)h(used)h(to)f(create)g(a)
+g(tree)h(structure)f(of)h(the)0 4762 y(enco)r(ded)23
+b(\014le)f(\(see)h(Figure)p 1 0 0 TeXcolorrgb 863 4762
+a
 SDict begin H.S end
- 3308 4028 a 1 0 0 TeXcolorrgb
-FB(1)p 1 0 0 TeXcolorrgb 3350 3974 a
+ 863 4762 a 1 0 0 TeXcolorrgb Fz(1)p 1 0 0 TeXcolorrgb
+905 4709 a
 SDict begin H.R end
- 3350 3974 a 3350
-4028 a
+ 905 4709 a 905 4762 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(figure.1.1) cvn H.B /ANN pdfmark end
- 3350 4028 a Black FB(\).)523 4127 y(The)39 b(actual)f(\014le)g
-(data)g(is)g(enco)r(ded)h(in)g Fu(DBlo)l(cks)g FB(whic)n(h)f(are)g
-(organized)f(b)n(y)h(a)g(tree)g(of)523 4227 y Fu(IBlo)l(cks)p
-FB(.)j(The)f Fu(IBlo)l(cks)p FB(,)h(whic)n(h)e(are)g(similar)f(to)i
-(UNIX)g(ino)r(des)g([)p 0 1 0 TeXcolorrgb 2698 4227 a
-SDict begin H.S end
-
-2698 4227 a 0 1 0 TeXcolorrgb FB(21)p 0 1 0 TeXcolorrgb
-2781 4173 a
-SDict begin H.R end
- 2781 4173 a 2781 4227 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.mckusick84fast) cvn H.B /ANN pdfmark end
- 2781 4227 a Black
-FB(],)g(are)e(indirection)523 4327 y(blo)r(c)n(ks)27
-b(whic)n(h)h(enco)r(de)f(ho)n(w)g(the)h(leaf)g(no)r(des)f(of)h(the)g
-(tree)g(can)f(b)r(e)h(reassem)n(bled)e(in)n(to)i(the)523
-4426 y(original)35 b(\014le.)h(Ev)n(ery)f Fu(IBlo)l(ck)j
-FB(pro)n(vides)d(the)i(data)f(required)f(to)h(request,)g(decrypt)g(and)
-523 4526 y(v)n(erify)c(the)h(con)n(ten)n(ts)f(of)h(its)g(direct)g(c)n
-(hildren.)f(V)-7 b(eri\014cation)32 b(is)h(done)g(using)f(hash)g(co)r
-(des)523 4625 y(of)h(the)h(c)n(hildren,)f(similar)f(to)h(the)h(w)n(a)n
-(y)d(a)i(Merkle)g(tree)g([)p 0 1 0 TeXcolorrgb 2377 4625
-a
-SDict begin H.S end
- 2377 4625 a 0 1 0 TeXcolorrgb FB(22)p 0 1 0 TeXcolorrgb
-2460 4572 a
-SDict begin H.R end
- 2460 4572 a 2460 4625 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.merkle89tree) cvn H.B /ANN pdfmark end
- 2460 4625 a Black
-FB(])g(w)n(orks.)f(Giv)n(en)h(the)g(size)g(of)523 4725
-y(the)25 b(\014le,)g(the)g(top)g Fu(IBlo)l(ck)h FB(uniquely)e(iden)n
-(ti\014es)h(the)g(con)n(ten)n(ts)f(of)h(the)g(en)n(tire)f(\014le.)h
-Fu(KBlo)l(cks)523 4825 y FB(and)32 b Fu(SBlo)l(cks)i
-FB(facilitate)e(obtaining)g(the)g(k)n(ey)g(hash)g(\(to)h(decrypt\))f
-(and)g(query)g(hash)g(\(to)523 4924 y(request\))27 b(for)g(the)h(top)g
-Fu(IBlo)l(ck)p FB(.)p Black Black eop end
+(figure.1) cvn H.B /ANN pdfmark end
+ 905 4762 a Black Fz(\).)g(The)f
+(actual)g(\014le)h(data)f(is)h(enco)r(ded)f(in)h Fs(DBlo)l(cks)h
+Fz(whic)n(h)p Black Black eop end
 %%Page: 10 10
 TeXDict begin 10 9 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -7143,166 +7068,194 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark
 end
- 523 232 a Black Fy(10)199 b(C.)27
-b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
-Black 523 365 a
+ 0 17 a Black Fv(10)879 b(C.)27 b(Grotho\013,)f(K.)g
+(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
+Black 1323 242 a Fq(K)5 b(B)t(l)q(ock)1457 326 y Fp(\017)p
+Fo(\017)p 1456 326 4 60 v 1313 403 a Fq(I)h(B)t(l)q(ock)1549
+412 y Fn(>)726 520 y Fp(r)p Fo(r)p Fm(e)766 513 y(e)806
+505 y(e)846 497 y(e)886 490 y(e)926 482 y(e)966 475 y(e)1007
+467 y(e)1047 459 y(e)1087 452 y(e)1127 444 y(e)1167 436
+y(e)1207 429 y(e)1248 421 y(e)1457 522 y Fp(\017)p Fo(\017)p
+1456 523 4 4 v 1456 509 V 1456 495 V 1456 481 V 1456
+467 V 1456 453 V 1456 439 V 766 w Fp(,)p Fo(,)2183 514
+y Fm(Y)2143 507 y(Y)2103 500 y(Y)2063 492 y(Y)2024 485
+y(Y)1984 478 y(Y)1944 470 y(Y)1904 463 y(Y)1865 456 y(Y)1825
+448 y(Y)1785 441 y(Y)1745 434 y(Y)1706 427 y(Y)1666 419
+y(Y)1626 412 y(Y)430 573 y Fq(I)g(B)t(l)q(ock)666 581
+y Fw(1)300 666 y Fp(v)p Fo(v)p Fm(m)334 651 y(m)367 637
+y(m)400 623 y(m)565 692 y Fp(\017)p Fo(\017)p 564 692
+V 564 678 V 564 664 V 564 650 V 564 636 V 564 622 V 564
+608 V 826 665 a Fp(\()p Fo(\()788 649 y Fm(Q)756 634
+y(Q)723 620 y(Q)691 606 y(Q)1412 555 y Fq(:)14 b(:)f(:)1229
+704 y Fp(z)p Fo(z)p 1228 705 V 1241 697 V 1254 688 V
+1267 679 V 1280 670 V 1294 661 V 1307 652 V 1320 644
+V 1333 635 V 1346 626 V 1360 617 V 1373 608 V 1386 599
+V 1399 591 V 1412 582 V 1457 692 a Fp(\017)p Fo(\017)p
+1456 693 V 1456 677 V 1456 661 V 1456 645 V 1456 629
+V 1456 614 V 1456 598 V 1456 582 V 1685 704 a Fp($)p
+Fo($)p 1683 705 V 1670 697 V 1657 688 V 1644 679 V 1631
+670 V 1617 661 V 1604 652 V 1591 644 V 1578 635 V 1565
+626 V 1551 617 V 1538 608 V 1525 599 V 1512 591 V 1499
+582 V 2248 572 a Fq(I)6 b(B)t(l)q(ock)2484 581 y Fl(k)2111
+666 y Fp(v)p Fo(v)2111 665 y Fm(l)2145 651 y(l)2180 636
+y(l)2214 622 y(l)2385 692 y Fp(\017)p Fo(\017)p 2384
+692 V 2384 678 V 2384 664 V 2384 650 V 2384 636 V 2384
+622 V 2384 608 V 2654 666 a Fp(\()p Fo(\()2616 649 y
+Fm(Q)2582 635 y(Q)2549 621 y(Q)2515 606 y(Q)25 742 y
+Fq(D)r(B)t(l)q(ock)286 750 y Fw(1)173 910 y Fp(\017)p
+Fo(\017)p 171 910 4 135 v 521 725 a Fq(:)13 b(:)g(:)565
+910 y Fp(\017)p Fo(\017)p 564 911 4 4 v 564 895 V 564
+879 V 564 863 V 564 847 V 564 831 V 564 815 V 564 799
+V 564 783 V 564 767 V 564 751 V 809 742 a Fq(D)r(B)t(l)q(ock)1070
+751 y Fl(l)952 910 y Fp(\017)p Fo(\017)p 951 910 4 134
+v 1412 725 a Fq(:)h(:)f(:)1457 910 y Fp(\017)p Fo(\017)p
+1456 911 4 4 v 1456 895 V 1456 879 V 1456 863 V 1456
+847 V 1456 831 V 1456 815 V 1456 799 V 1456 783 V 1456
+767 V 1456 751 V 1819 742 a Fq(D)r(B)t(l)q(ock)2080 750
+y Fl(m)1979 910 y Fp(\017)p Fo(\017)p 1977 910 4 135
+v 2340 725 a Fq(:)h(:)f(:)2385 910 y Fp(\017)p Fo(\017)p
+2384 911 4 4 v 2384 895 V 2384 879 V 2384 863 V 2384
+847 V 2384 831 V 2384 815 V 2384 799 V 2384 783 V 2384
+767 V 2384 751 V 2631 742 a Fq(D)r(B)t(l)q(ock)2892 750
+y Fl(n)2783 910 y Fp(\017)p Fo(\017)p 2782 910 4 135
+v 74 914 2 2 v 76 915 2761 4 v 2837 914 2 2 v 73 1025
+4 111 v 2839 1025 V 74 1028 2 2 v 76 1029 2761 4 v 2837
+1028 2 2 v 1202 983 a Fu(Original)41 b(data)0 1141 y
+Fk(Fig.)20 b(1)p 0 TeXcolorgray 258 1050 a
 SDict begin H.S end
- 523 365 a 523 365 a
-SDict begin 12 H.A end
- 523 365 a 523 365
+ 258 1050 a
+0 TeXcolorgray 0 TeXcolorgray 258 1050 a
+SDict begin H.R end
+ 258 1050 a 258
+1050 a
+SDict begin [ /View [/XYZ H.V] /Dest (figure.1) cvn H.B /DEST pdfmark
+end
+ 258 1050 a Black 91 x Fv(Simple)e(enco)r(ding)h(of)g(a)g(\014le)
+f(using)g(a)h(tree)f(of)h(CHK)f(blo)r(c)n(ks)g(\()p Fq(D)r(B)t(l)q(ock)
+r Fv(s)i(and)e Fq(I)6 b(B)t(l)q(ock)r Fv(s)0 1232 y(are)26
+b(CHK)g(enco)r(ded\))f(with)h(one)g Fq(K)5 b(B)t(l)q(ock)28
+b Fv(to)e(allo)n(w)i(for)e(a)g(k)n(eyw)n(ord-based)f(searc)n(h.)p
+Black Black Black 0 1634 a Fz(are)h(organized)g(b)n(y)h(a)g(tree)g(of)h
+Fs(IBlo)l(cks)p Fz(.)g(The)g Fs(IBlo)l(cks)p Fz(,)g(whic)n(h)g(are)e
+(similar)h(to)g(UNIX)0 1733 y(ino)r(des)k([)p 0 1 0 TeXcolorrgb
+283 1733 a
+SDict begin H.S end
+ 283 1733 a 0 1 0 TeXcolorrgb Fz(21)p 0 1 0
+TeXcolorrgb 366 1680 a
+SDict begin H.R end
+ 366 1680 a 366 1733 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.mckusick84fast) cvn H.B /ANN pdfmark end
+ 366 1733
+a Black Fz(],)h(are)f(indirection)g(blo)r(c)n(ks)g(whic)n(h)g(enco)r
+(de)h(ho)n(w)e(the)i(leaf)g(no)r(des)f(of)h(the)0 1833
+y(tree)21 b(can)h(b)r(e)g(reassem)n(bled)e(in)n(to)i(the)g(original)e
+(\014le.)i(Ev)n(ery)e Fs(IBlo)l(ck)j Fz(pro)n(vides)d(the)i(data)0
+1933 y(required)31 b(to)i(request,)f(decrypt)g(and)g(v)n(erify)g(the)g
+(con)n(ten)n(ts)g(of)g(its)h(direct)f(c)n(hildren.)0
+2032 y(V)-7 b(eri\014cation)31 b(is)g(done)g(using)h(hash)f(co)r(des)g
+(of)g(the)h(c)n(hildren,)f(similar)g(to)g(the)h(w)n(a)n(y)e(a)0
+2132 y(Merkle)i(tree)h([)p 0 1 0 TeXcolorrgb 477 2132
 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.2) cvn H.B /DEST
-pdfmark end
- 523 365 a 83 x Fs(3.2)95 b Fk(DBlo)-5 b(cks)523 613
-y FB(Ev)n(ery)33 b Fu(DBlo)l(ck)j FB(corresp)r(onds)c(to)j(32Kb)e(of)i
-(the)g(original)e(\014le)i(\(the)g(last)g(blo)r(c)n(k)f(ma)n(y)g(b)r(e)
-523 713 y(padded)g(with)g(zeros)e(if)i(the)g(\014le)g(end)g(do)r(es)f
-(not)h(fall)f(on)h(a)f(32Kb)f(b)r(oundary\).)h Fu(DBlo)l(ck)p
-FB(s)523 812 y(are)d(encrypted)h(using)f(a)h(symmetric)f(cipher.)h(F)-7
-b(or)30 b(the)i Fu(DBlo)l(ck)f FB(that)h(corresp)r(onds)d(to)h(a)523
-912 y(plain)n(text)e(blo)r(c)n(k)f Ft(B)1156 924 y Fj(i)1184
-912 y FB(,)h(the)h(k)n(ey)e(for)g(the)i(cipher)f(is)f
-Ft(K)2204 924 y Fj(i)2255 912 y FB(:=)d Ft(H)7 b FB(\()p
-Ft(B)2538 924 y Fj(i)2565 912 y FB(\).)29 b(This)f(guaran)n(tees)e
-(that)523 1011 y(the)d(same)f(blo)r(c)n(k)g(will)h(alw)n(a)n(ys)e(b)r
-(e)i(encrypted)f(with)h(the)g(same)f(k)n(ey)-7 b(.)22
-b(Also,)g(the)h(in)n(tegrit)n(y)f(of)523 1111 y(the)g(decrypted)f(blo)r
-(c)n(k)f(can)h(b)r(e)h(v)n(eri\014ed)e(b)n(y)h(c)n(hec)n(king)f(that)i
-Ft(K)2470 1123 y Fj(i)2520 1111 y FB(=)h Ft(H)7 b FB(\()p
-Ft(B)2779 1123 y Fj(i)2806 1111 y FB(\).)22 b(The)f(encrypted)523
-1211 y(blo)r(c)n(k)k Ft(E)801 1223 y Fj(K)857 1231 y
-Fi(i)888 1211 y FB(\()p Ft(B)983 1223 y Fj(i)1011 1211
-y FB(\))g(can)h(b)r(e)g(uniquely)f(iden)n(ti\014ed)h(b)n(y)g(its)f
-(hash)g Ft(Q)2509 1223 y Fj(i)2560 1211 y FB(:=)e Ft(H)7
-b FB(\()p Ft(E)2840 1223 y Fj(K)2896 1231 y Fi(i)2926
-1211 y FB(\()p Ft(B)3021 1223 y Fj(i)3049 1211 y FB(\)\).)26
-b(A)g(p)r(eer)523 1310 y(can)34 b(query)g(for)g Ft(E)1115
-1322 y Fj(K)1171 1330 y Fi(i)1201 1310 y FB(\()p Ft(B)1296
-1322 y Fj(i)1324 1310 y FB(\))h(using)f(the)h(query)e(hash)h
-Ft(Q)2269 1322 y Fj(i)2331 1310 y FB(without)h(rev)n(ealing)d
-Ft(K)3075 1322 y Fj(i)3102 1310 y FB(.)j(Conse-)523 1410
-y(quen)n(tly)-7 b(,)24 b(the)g(pair)f(\()p Ft(K)1242
-1422 y Fj(i)1270 1410 y Ft(;)14 b(Q)1373 1422 y Fj(i)1400
-1410 y FB(\))24 b(can)f(b)r(e)i(used)e(to)h(retriev)n(e)f(and)g
-(decrypt)h Ft(B)2813 1422 y Fj(i)2840 1410 y FB(.)g(In)n(termediaries)
-523 1510 y(can)30 b(v)n(erify)h(that)g(a)f(resp)r(onse)g
-Ft(E)1568 1522 y Fj(K)1624 1530 y Fi(i)1654 1510 y FB(\()p
-Ft(B)1749 1522 y Fj(i)1777 1510 y FB(\))i(matc)n(hes)e(a)g(query)g
-(hash)h Ft(Q)2735 1522 y Fj(i)2793 1510 y FB(without)g(kno)n(wing)523
-1609 y Ft(K)594 1621 y Fj(i)621 1609 y FB(.)24 b(F)-7
-b(reenet)24 b([)p 0 1 0 TeXcolorrgb 984 1609 a
 SDict begin H.S end
- 984 1609
-a 0 1 0 TeXcolorrgb FB(5)p 0 1 0 TeXcolorrgb 1025 1556
-a
+ 477 2132 a 0 1 0 TeXcolorrgb Fz(22)p 0 1 0 TeXcolorrgb
+560 2078 a
 SDict begin H.R end
- 1025 1556 a 1025 1609 a
+ 560 2078 a 560 2132 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.clark99distributed) cvn H.B /ANN pdfmark end
- 1025 1609 a Black FB(])g(uses)f(the)h(same)f
-(sc)n(heme)g(to)h(encrypt)f(en)n(tire)g(\014les)h(\(not)g(just)g(blo)r
-(c)n(ks\))f(and)523 1709 y(the)28 b(authors)f(call)g(the)h(pair)f(\()p
-Ft(K)1536 1721 y Fj(i)1563 1709 y Ft(;)14 b(Q)1666 1721
-y Fj(i)1693 1709 y FB(\))28 b(a)f(con)n(ten)n(t)h(hash)f(k)n(ey)g
-(\(CHK\).)523 1878 y
+(cite.merkle89tree) cvn H.B /ANN pdfmark end
+ 560 2132 a Black Fz(])g(w)n(orks.)e
+(Giv)n(en)h(the)h(size)g(of)g(the)g(\014le,)g(the)g(top)g
+Fs(IBlo)l(ck)h Fz(uniquely)0 2232 y(iden)n(ti\014es)c(the)g(con)n(ten)n
+(ts)f(of)h(the)h(en)n(tire)e(\014le.)h Fs(KBlo)l(cks)h
+Fz(and)f Fs(SBlo)l(cks)h Fz(facilitate)f(ob-)0 2331 y(taining)h(the)h
+(k)n(ey)e(hash)h(\(to)g(decrypt\))g(and)g(query)g(hash)g(\(to)g
+(request\))g(for)f(the)i(top)0 2431 y Fs(IBlo)l(ck)p
+Fz(.)0 2612 y
 SDict begin H.S end
- 523 1878 a 523 1878 a
+ 0 2612 a 0 2612 a
 SDict begin 12 H.A end
- 523 1878 a
-523 1878 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.3) cvn H.B /DEST
+ 0 2612 a 0 2612 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.2) cvn H.B /DEST
 pdfmark end
- 523 1878 a 78 x Fs(3.3)95 b Fk(IBlo)-5 b(cks)523
-2121 y FB(F)e(or)32 b(\014les)h(larger)e(than)h(the)i(blo)r(c)n(ksize,)
-e(m)n(ultiple)h(CHK)f(k)n(eys)g(are)g(required)g(to)g(retriev)n(e)523
-2221 y(the)i(con)n(ten)n(t.)f(F)-7 b(or)33 b(example,)g(with)g(a)g(blo)
-r(c)n(ksize)g(of)g(32Kb)f(and)h(512-bit)g(hash)f(co)r(des,)h(a)523
-2320 y(32Mb)26 b(\014le)g(w)n(ould)g(b)r(e)h(split)f(in)n(to)h(1024)d
-Fu(DBlo)l(cks)p FB(,)j Ft(B)2186 2332 y FA(1)2223 2320
-y Ft(;)14 b(:)g(:)g(:)g(;)g(B)2471 2332 y FA(1024)2607
-2320 y FB(,)27 b(of)f(length)h(32Kb)e(eac)n(h.)523 2420
-y(Groups)e(of)g(up)h(to)f(256)f(CHKs)h(are)g(assem)n(bled)f(in)n(to)i
-(one)f(32Kb)f Fu(IBlo)l(ck)p FB(,)j(resulting)e(in)g(four)523
-2520 y Fu(IBlo)l(ck)p FB(s)j(for)f(the)g(32Mb)f(\014le.)i(The)f
-(resulting)f Fu(IBlo)l(ck)p FB(s)i(are)e(CHK)h(encrypted)g(in)g(the)h
-(exact)523 2619 y(same)c(manner)h(as)f(the)h Fu(DBlo)l(cks)h
-FB(and)f(their)g(CHK-k)n(eys)e(are)h(again)g(group)r(ed)g(in)n(to)h
-Fu(IBlo)l(cks)523 2719 y FB(un)n(til)j(only)e(one)h(CHK)g(k)n(ey)g(is)g
-(left.)h(F)-7 b(or)24 b(the)i(32Mb)e(\014le,)i(the)f(CHKs)g(for)g(the)g
-(four)g Fu(IBlo)l(ck)p FB(s)523 2818 y(are)g(th)n(us)h(collected)g(in)h
-(one)f(\014nal)g(top)g Fu(IBlo)l(ck)p FB(.)h(The)f(additional)g(space)g
-(requiremen)n(ts)f(for)523 2918 y(enco)r(ding)i(the)h(\014le)g(are)f(t)
-n(ypically)g(less)g(than)g(1\045)h(of)f(the)h(original)e(\014le)i
-(size.)523 3082 y
+ 0 2612
+a 100 x Fs(3.2)d Fz(DBlo)r(c)n(ks)0 2899 y(Ev)n(ery)20
+b Fs(DBlo)l(ck)j Fz(corresp)r(onds)d(to)h(32Kb)g(of)h(the)g(original)e
+(\014le)i(\(the)h(last)e(blo)r(c)n(k)g(ma)n(y)g(b)r(e)0
+2999 y(padded)h(with)g(zeros)e(if)i(the)g(\014le)g(end)g(do)r(es)f(not)
+h(fall)g(on)f(a)g(32Kb)g(b)r(oundary\).)g Fs(DBlo)l(ck)p
+Fz(s)0 3099 y(are)g(encrypted)h(using)g(a)g(symmetric)g(cipher.)g(F)-7
+b(or)22 b(the)h Fs(DBlo)l(ck)g Fz(that)g(corresp)r(onds)d(to)0
+3198 y(a)j(plain)n(text)g(blo)r(c)n(k)g Fr(B)689 3210
+y Fj(i)717 3198 y Fz(,)g(the)h(k)n(ey)f(for)g(the)h(cipher)f(is)g
+Fr(K)1705 3210 y Fj(i)1755 3198 y Fz(:=)g Fr(H)7 b Fz(\()p
+Fr(B)2037 3210 y Fj(i)2065 3198 y Fz(\).)24 b(This)f(guaran)n(tees)0
+3298 y(that)41 b(the)g(same)f(blo)r(c)n(k)g(will)g(alw)n(a)n(ys)f(b)r
+(e)i(encrypted)f(with)h(the)g(same)f(k)n(ey)-7 b(.)40
+b(Also,)0 3397 y(the)30 b(in)n(tegrit)n(y)e(of)h(the)h(decrypted)f(blo)
+r(c)n(k)g(can)g(b)r(e)h(v)n(eri\014ed)e(b)n(y)h(c)n(hec)n(king)g(that)g
+Fr(K)2597 3409 y Fj(i)2650 3397 y Fz(=)0 3497 y Fr(H)7
+b Fz(\()p Fr(B)171 3509 y Fj(i)199 3497 y Fz(\).)25 b(The)f(encrypted)g
+(blo)r(c)n(k)g Fr(E)1105 3509 y Fj(K)1161 3517 y Fi(i)1192
+3497 y Fz(\()p Fr(B)1287 3509 y Fj(i)1315 3497 y Fz(\))h(can)f(b)r(e)h
+(uniquely)f(iden)n(ti\014ed)h(b)n(y)g(its)f(hash)0 3597
+y Fr(Q)66 3609 y Fj(i)132 3597 y Fz(:=)38 b Fr(H)7 b
+Fz(\()p Fr(E)427 3609 y Fj(K)483 3617 y Fi(i)513 3597
+y Fz(\()p Fr(B)608 3609 y Fj(i)636 3597 y Fz(\)\).)38
+b(A)f(p)r(eer)g(can)f(query)g(for)h Fr(E)1651 3609 y
+Fj(K)1707 3617 y Fi(i)1737 3597 y Fz(\()p Fr(B)1832 3609
+y Fj(i)1860 3597 y Fz(\))g(using)g(the)g(query)f(hash)0
+3696 y Fr(Q)66 3708 y Fj(i)129 3696 y Fz(without)h(rev)n(ealing)d
+Fr(K)877 3708 y Fj(i)904 3696 y Fz(.)i(Consequen)n(tly)-7
+b(,)35 b(the)h(pair)f(\()p Fr(K)1935 3708 y Fj(i)1963
+3696 y Fr(;)14 b(Q)2066 3708 y Fj(i)2093 3696 y Fz(\))36
+b(can)g(b)r(e)g(used)g(to)0 3796 y(retriev)n(e)26 b(and)g(decrypt)h
+Fr(B)825 3808 y Fj(i)853 3796 y Fz(.)g(In)n(termediaries)f(can)g(v)n
+(erify)g(that)i(a)e(resp)r(onse)g Fr(E)2473 3808 y Fj(K)2529
+3816 y Fi(i)2560 3796 y Fz(\()p Fr(B)2655 3808 y Fj(i)2683
+3796 y Fz(\))0 3896 y(matc)n(hes)34 b(a)g(query)g(hash)g
+Fr(Q)909 3908 y Fj(i)970 3896 y Fz(without)h(kno)n(wing)e
+Fr(K)1691 3908 y Fj(i)1719 3896 y Fz(.)h(F)-7 b(reenet)35
+b([)p 0 1 0 TeXcolorrgb 2103 3896 a
 SDict begin H.S end
- 523 3082 a 523 3082 a
-SDict begin 12 H.A end
- 523 3082 a 523
-3082 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.4) cvn H.B /DEST
-pdfmark end
- 523 3082 a 84 x Fs(3.4)95 b(Finding)30 b(\014les)523
-3330 y FB(The)35 b(CHK)h(enco)r(ding)e(describ)r(ed)i(so)e(far)h(is)g
-(useful)h(for)f(transmitting)g(con)n(ten)n(t)g(that)g(is)523
-3430 y(enco)r(ded)e(and)h(y)n(et)f(v)n(eri\014able)f(for)h(in)n
-(termediaries.)f(Ho)n(w)n(ev)n(er,)f(a)i(practical)g(\014le-sharing)523
-3530 y(sc)n(heme)28 b(needs)h(to)f(pro)n(vide)g(functionalit)n(y)g(suc)
-n(h)h(that)f(the)h(users)f(can)g(obtain)h(the)g(query)523
-3629 y(hash)k(and)g(the)h(k)n(ey)e(that)i(are)e(no)n(w)h(necessary)e
-(in)j(order)d(to)j(retriev)n(e)e(and)h(decrypt)g(the)523
-3729 y(enco)r(ded)f(con)n(ten)n(t.)g(While)h(out-of-band)e(comm)n
-(unication)h(of)g(those)g(CHK)g(k)n(eys)f(is)h(cer-)523
-3828 y(tainly)22 b(feasible,)g(an)g(in)n(tegrated)f(solution)g(is)h
-(clearly)f(desirable.)g(Related)h(w)n(ork)f(on)h(secure)523
-3928 y(indexing)28 b([)p 0 1 0 TeXcolorrgb 881 3928 a
-SDict begin H.S end
-
-881 3928 a 0 1 0 TeXcolorrgb FB(12)p 0 1 0 TeXcolorrgb
-964 3875 a
+ 2103 3896 a 0 1 0
+TeXcolorrgb Fz(5)p 0 1 0 TeXcolorrgb 2144 3842 a
 SDict begin H.R end
- 964 3875 a 964 3928 a
+ 2144
+3842 a 2144 3896 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.secure2004goh) cvn H.B /ANN pdfmark end
- 964 3928 a Black FB(])h(allo)n(ws)e
-(serv)n(ers)g(to)h(retriev)n(e)g(do)r(cumen)n(ts)g(b)n(y)g(k)n(eyw)n
-(ord)f(without)i(learning)523 4028 y(ab)r(out)23 b(the)g(rest)f(of)g
-(the)h(do)r(cumen)n(t.)g(The)g(sc)n(heme)f(that)h(will)g(b)r(e)g
-(describ)r(ed)f(in)h(Section)p 1 0 0 TeXcolorrgb 3299
-4028 a
+(cite.clark99distributed) cvn H.B /ANN pdfmark end
+ 2144 3896 a Black Fz(])g(uses)f(the)g(same)0
+3995 y(sc)n(heme)24 b(to)g(encrypt)g(en)n(tire)f(\014les)i(\(not)f
+(just)h(blo)r(c)n(ks\))f(and)g(the)g(authors)f(call)h(the)h(pair)0
+4095 y(\()p Fr(K)103 4107 y Fj(i)130 4095 y Fr(;)14 b(Q)233
+4107 y Fj(i)261 4095 y Fz(\))28 b(a)f(con)n(ten)n(t)g(hash)g(k)n(ey)g
+(\(CHK\).)0 4297 y
 SDict begin H.S end
- 3299 4028 a 1 0 0 TeXcolorrgb FB(3.6)p 1 0 0 TeXcolorrgb
-3405 3974 a
-SDict begin H.R end
- 3405 3974 a 3405 4028 a
-SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(subsection.1.3.6) cvn H.B /ANN pdfmark end
- 3405 4028 a Black
-523 4127 a FB(impro)n(v)n(es)29 b(on)h(this)h(b)n(y)f(k)n(eeping)f(the)
-i(k)n(eyw)n(ord)e(itself)h(priv)-5 b(ate.)31 b(Additionally)-7
-b(,)30 b(it)h(still)g(al-)523 4227 y(lo)n(ws)20 b(in)n(termediaries)f
-(to)i(v)n(erify)f(the)h(correct)f(op)r(eration)g(of)g(the)i(serv)n(er.)
-d(It)i(also)f(a)n(v)n(oids)f(the)523 4327 y(need)26 b(for)g(the)g
-(publisher)g(to)g(encrypt)g(the)g(do)r(cumen)n(t)h(with)f(the)h(public)
-f(k)n(ey)g(of)g(a)f Fu(sp)l(e)l(ci\014c)523 4426 y FB(receiv)n(er,)k
-(thereb)n(y)h(theoretically)f(p)r(ermitting)i(arbitrary)e(participan)n
-(ts)g(to)h(access)g(same)523 4526 y(encrypted)37 b(con)n(ten)n(t)f
-(\(as)h(long)f(as)h(they)g(are)f(able)h(to)f(obtain)h(or)f(guess)g(the)
-i(necessary)523 4625 y(k)n(eyw)n(ord\).)648 4725 y(The)24
-b(k)n(ey)g(problem)g(for)g(the)h(searc)n(h)e(is)h(that)h(simply)f
-(publishing)h(CHK)f(k)n(eys)g(in)g(plain-)523 4825 y(text)36
-b(under)g(certain)f(k)n(eyw)n(ords)f(\(as)h(done)h(in)g(F)-7
-b(reenet)35 b(with)i(KSK)e(k)n(eys\))g(has)g(v)-5 b(arious)523
-4924 y(dra)n(wbac)n(ks.)24 b(First,)i(in)n(termediaries)f(w)n(ould)h
-(learn)g(ab)r(out)g(the)g(CHK)h(k)n(eys)e(that)i(they)f(are)p
-Black Black eop end
+ 0 4297 a 0 4297 a
+SDict begin 12 H.A end
+ 0 4297 a 0 4297
+a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.3) cvn H.B /DEST
+pdfmark end
+ 0 4297 a 79 x Fs(3.3)i Fz(IBlo)r(c)n(ks)0 4563 y(F)-7
+b(or)33 b(\014les)g(larger)f(than)h(the)h(blo)r(c)n(ksize,)f(m)n
+(ultiple)h(CHK)f(k)n(eys)f(are)h(required)f(to)i(re-)0
+4663 y(triev)n(e)26 b(the)i(con)n(ten)n(t.)e(F)-7 b(or)27
+b(example,)g(with)g(a)g(blo)r(c)n(ksize)f(of)h(32Kb)f(and)h(512-bit)e
+(hash)0 4762 y(co)r(des,)d(a)f(32Mb)g(\014le)i(w)n(ould)e(b)r(e)h
+(split)h(in)n(to)f(1024)e Fs(DBlo)l(cks)p Fz(,)j Fr(B)1934
+4774 y Fx(1)1971 4762 y Fr(;)14 b(:)g(:)g(:)f(;)h(B)2218
+4774 y Fx(1024)2355 4762 y Fz(,)22 b(of)g(length)p Black
+Black eop end
 %%Page: 11 11
 TeXDict begin 11 10 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -7310,119 +7263,123 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.11) cvn H.B /DEST pdfmark
 end
- 523 232 a Black 1036 w Fy(An)25
-b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
-b(11)p Black 523 448 a FB(storing)28 b(or)g(transmitting,)h(whic)n(h)h
-(could)f(allo)n(w)f(them)h(to)g(easily)g(censor)f(searc)n(h)f(results.)
-523 548 y(Second,)36 b(the)g(k)n(eyw)n(ords)d(are)i(directly)h(exp)r
-(osed)f(to)h(the)g(in)n(termediaries,)e(whic)n(h)i(again)523
-648 y(w)n(ould)31 b(facilitate)f(censorship.)g(Finally)-7
-b(,)31 b(p)r(eers)g(w)n(ould)f(b)r(e)i(able)e(to)h(send)g(in)n(v)-5
-b(alid)31 b(replies)523 747 y(that)37 b(refer)f(to)h(inappropriate)e
-(con)n(ten)n(t.)h(This)h(ma)n(y)f(b)r(e)h(just)g(a)g(n)n(uisance)f(if)h
-(malicious)523 847 y(p)r(eers)c(use)g(this)h(for)f(adv)n(ertising)f
-(\(a)h(kind)h(of)f(b)r(eha)n(vior)g(can)g(b)r(e)h(observ)n(ed)d(on)j
-(gn)n(utella)523 946 y(from)c(time)h(to)g(time\).)h(P)n(ossibly)c(w)n
-(orse,)i(if)h(a)f(net)n(w)n(ork)f(w)n(an)n(ts)h(to)g(economically)g
-(rew)n(ard)523 1046 y(p)r(eers)24 b(for)f(returning)h(searc)n(h)e
-(results,)i(the)g(p)r(ossibilit)n(y)g(of)g(returning)g(arbitrary)e
-(nonsense)523 1146 y(migh)n(t)28 b(mak)n(e)e(suc)n(h)i(incen)n(tiv)n(e)
-f(sc)n(hemes)g(impractical.)648 1245 y(But)33 b(ho)n(w)g(can)g(a)g
-(system)g(prev)n(en)n(t)g(p)r(eers)g(from)g(returning)g(in)n(v)-5
-b(alid)33 b(resp)r(onses)f(to)h(a)523 1345 y(k)n(eyw)n(ord-based)d
-(searc)n(h?)h(Since)i(it)g(is)f(inheren)n(t)h(in)g(the)g(nature)f(of)g
-(suc)n(h)g(a)h(searc)n(h)e(that)523 1445 y(the)36 b(initiator)e(do)r
-(es)h(not)g(kno)n(w)f(precisely)g(what)h(con)n(ten)n(t)g(is)g(desired,)
-g(it)g(is)g(imp)r(ossible)523 1544 y(for)e(the)h(query)f(to)g
-(completely)g(determine)h(the)g(reply)-7 b(.)33 b(F)-7
-b(or)33 b(this)h(reason,)e(sc)n(hemes)g(lik)n(e)523 1644
-y(CHK)23 b(cannot)g(b)r(e)g(applied)g(to)g(the)h(k)n(eyw)n(ord-searc)n
-(h)19 b(problem:)k(in)g(CHK,)g(the)h(query)e(hash)523
-1743 y(completely)g(determines)h(the)g(reply)-7 b(.)22
-b(As)g(a)g(result,)h(a)f(k)n(eyw)n(ord-based)e(searc)n(h)g(mec)n
-(hanism)523 1843 y(where)h(a)f(query)h(should)g(p)r(ossibly)g(ha)n(v)n
-(e)f(m)n(ultiple)h(v)-5 b(alid)21 b(results)g(cannot)g(b)r(e)g
-(implemen)n(ted)523 1943 y(based)k(on)h(CHK.)g(Since)g(for)f(this)i
-(kind)f(of)g(searc)n(h)e(there)i(cannot)f(b)r(e)h(an)n(y)g(completely)f
-(de-)523 2042 y(terministic)e(link)f(b)r(et)n(w)n(een)g(the)h(k)n(eyw)n
-(ord)d(and)i(the)h(con)n(ten)n(t,)f(ECRS)g(m)n(ust)h(trust)f(the)h
-(user)523 2142 y(who)i(is)g(uploading)g(the)h(con)n(ten)n(t)f(to)g(pro)
-n(vide)f(a)h(v)-5 b(alid)26 b(link.)f(That)h(user)e(m)n(ust)i(sp)r
-(ecify)g(ap-)523 2242 y(propriate)e(k)n(eyw)n(ords)f(\(and)i
-(metadata\))g(that)g(prop)r(erly)f(describ)r(es)h(the)g(con)n(ten)n(t.)
-g(Clearly)523 2341 y(this)30 b(trust)h(ma)n(y)e(b)r(e)i(misplaced.)f
-(The)g(uploader)f(ma)n(y)g(sp)r(ecify)i(k)n(eyw)n(ords)d(that)i(ha)n(v)
-n(e)f(no)523 2441 y(seman)n(tic)k(relation)f(with)h(the)g(con)n(ten)n
-(t.)g(One)g(solution)f(to)h(this)g(problem)g(is)g(the)g(use)g(of)523
-2540 y(namespaces,)c(whic)n(h)h(attac)n(k)f(the)i(issue)e(b)n(y)h
-(enabling)g(users)f(to)h(learn)f(whic)n(h)h(uploaders)523
-2640 y(are)d(trust)n(w)n(orth)n(y)-7 b(.)523 2794 y
+ 0 17 a Black Fv(An)25 b(Enco)r(ding)h(for)h
+(Censorship-Resistan)n(t)f(Sharing)1068 b(11)p Black
+0 248 a Fz(32Kb)23 b(eac)n(h.)g(Groups)h(of)g(up)h(to)f(256)e(CHKs)i
+(are)f(assem)n(bled)h(in)n(to)g(one)g(32Kb)f Fs(IBlo)l(ck)p
+Fz(,)0 348 y(resulting)30 b(in)g(four)g Fs(IBlo)l(ck)p
+Fz(s)h(for)f(the)h(32Mb)e(\014le.)i(The)f(resulting)f
+Fs(IBlo)l(ck)p Fz(s)j(are)d(CHK)0 448 y(encrypted)34
+b(in)g(the)g(exact)g(same)f(manner)g(as)h(the)g Fs(DBlo)l(cks)h
+Fz(and)e(their)h(CHK-k)n(eys)0 547 y(are)22 b(again)g(group)r(ed)g(in)n
+(to)g Fs(IBlo)l(cks)i Fz(un)n(til)g(only)e(one)h(CHK)f(k)n(ey)h(is)f
+(left.)i(F)-7 b(or)22 b(the)i(32Mb)0 647 y(\014le,)g(the)g(CHKs)f(for)g
+(the)h(four)g Fs(IBlo)l(ck)p Fz(s)g(are)f(th)n(us)h(collected)f(in)h
+(one)f(\014nal)h(top)g Fs(IBlo)l(ck)p Fz(.)0 746 y(The)36
+b(additional)f(space)g(requiremen)n(ts)f(for)h(enco)r(ding)h(the)g
+(\014le)g(are)e(t)n(ypically)h(less)0 846 y(than)28 b(1\045)f(of)h(the)
+g(original)e(\014le)h(size.)0 1065 y
 SDict begin H.S end
- 523
-2794 a 523 2794 a
+ 0 1065 a 0 1065
+a
 SDict begin 12 H.A end
- 523 2794 a 523 2794 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.5) cvn H.B /DEST
+ 0 1065 a 0 1065 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.4) cvn H.B /DEST
 pdfmark end
- 523 2794 a 83
-x Fs(3.5)95 b(Namespaces)523 3031 y FB(One)25 b(w)n(a)n(y)f(to)i(a)n(v)
-n(oid)d(searc)n(hing)h(in)i(an)f(un)n(trust)n(w)n(orth)n(y)f(global)g
-(k)n(eyw)n(ord)f(space)i(that)h(ma)n(y)523 3131 y(con)n(tain)e(mostly)f
-(inappropriately-lab)r(eled)g(con)n(ten)n(t)g(is)i(to)f(restrict)f(the)
-i(searc)n(h)d(to)j(name-)523 3231 y(spaces.)39 b(A)h(namespace)f(is)g
-(a)g(k)n(eyw)n(ord)f(space)h(that)h(con)n(tains)f(con)n(ten)n(t)g(that)
-h(is)g(cryp-)523 3330 y(tographically)32 b(signed)h(with)h(the)h(same)e
-(priv)-5 b(ate)33 b(k)n(ey)-7 b(.)33 b(The)h(concept)g(of)g(namespaces)
-e(is)523 3430 y(also)e(presen)n(t)h(in)g(F)-7 b(reenet)32
-b([)p 0 1 0 TeXcolorrgb 1410 3430 a
+ 0 1065 a 88 x Fs(3.4)i(Finding)i(\014les)0
+1367 y Fz(The)d(CHK)h(enco)r(ding)f(describ)r(ed)g(so)g(far)g(is)g
+(useful)h(for)e(transmitting)i(con)n(ten)n(t)f(that)0
+1466 y(is)34 b(enco)r(ded)g(and)g(y)n(et)g(v)n(eri\014able)f(for)g(in)n
+(termediaries.)g(Ho)n(w)n(ev)n(er,)f(a)i(practical)f(\014le-)0
+1566 y(sharing)20 b(sc)n(heme)g(needs)h(to)g(pro)n(vide)f(functionalit)
+n(y)h(suc)n(h)g(that)g(the)g(users)g(can)f(obtain)0 1666
+y(the)27 b(query)e(hash)i(and)f(the)h(k)n(ey)e(that)i(are)e(no)n(w)h
+(necessary)f(in)i(order)e(to)h(retriev)n(e)f(and)0 1765
+y(decrypt)37 b(the)g(enco)r(ded)g(con)n(ten)n(t.)g(While)h(out-of-band)
+e(comm)n(unication)g(of)h(those)0 1865 y(CHK)c(k)n(eys)g(is)g
+(certainly)g(feasible,)g(an)h(in)n(tegrated)e(solution)h(is)g(clearly)g
+(desirable.)0 1965 y(Related)21 b(w)n(ork)e(on)h(secure)g(indexing)h([)
+p 0 1 0 TeXcolorrgb 1197 1965 a
 SDict begin H.S end
- 1410 3430 a 0 1 0
-TeXcolorrgb FB(5)p 0 1 0 TeXcolorrgb 1451 3376 a
+ 1197 1965 a 0 1 0 TeXcolorrgb
+Fz(12)p 0 1 0 TeXcolorrgb 1280 1911 a
 SDict begin H.R end
- 1451
-3376 a 1451 3430 a
+ 1280 1911 a 1280
+1965 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.clark99distributed) cvn H.B /ANN pdfmark end
- 1451 3430 a Black FB(],)g(but)g(with)f(F)-7
-b(reenet)32 b(it)f(is)h(not)f(p)r(ossible)g(to)g(obtain)g(m)n(ulti-)523
-3530 y(ple)i(results)e(b)n(y)h(searc)n(hing)f(a)h(namespace.)f(F)-7
-b(ortunately)g(,)32 b(it)h(is)f(easy)g(to)g(add)g Fu(se)l(ar)l(chable)
-523 3629 y FB(namespaces)26 b(to)i(ECRS.)648 3729 y(In)22
-b(ECRS,)g(a)g(namespace)f(is)i(iden)n(ti\014ed)f(b)n(y)g(a)g
-(public-priv)-5 b(ate)22 b(k)n(ey)g(pair)g(\(also)f(referred)523
-3828 y(to)k(as)g(the)h(pseudon)n(ym\).)f(The)h(priv)-5
-b(ate)25 b(k)n(ey)g(is)g(used)h(to)f(sign)g(the)h(con)n(ten)n(t)f(that)
-h(is)f(placed)523 3928 y(in)n(to)e(the)g(namespace,)f(and)h(the)g
-(public)h(k)n(ey)e(\(or)g(more)g(precisely)-7 b(,)22
-b(the)i(hash)e(of)h(the)h(public)523 4028 y(k)n(ey\))38
-b(is)g(used)g(as)g(a)g(public)g(handle)g(that)h(is)f(used)g(to)g(refer)
-g(to)g(the)h(namespace.)e(An)n(y)523 4127 y(user)d(can)g(create)g(an)n
-(y)g(n)n(um)n(b)r(er)g(of)h(pseudon)n(yms.)f(Once)g(the)h(user)f
-(accesses)f(\014les)h(from)523 4227 y(a)41 b(particular)f(namespace)g
-(it)i(is)f(p)r(ossible)g(to)g(form)g(an)g(opinion)g(ab)r(out)g(a)g
-(particular)523 4327 y(pseudon)n(ym,)27 b(whic)n(h)h(can)f(then)h(b)r
-(e)g(used)g(to)f(target)g(the)h(searc)n(h.)648 4426 y(Adding)37
-b(namespaces)g(to)g(the)h(design)f(requires)f(a)h(new)h(t)n(yp)r(e)g
-(of)f(blo)r(c)n(k,)g(called)g(an)523 4526 y Fu(SBlo)l(ck)p
-FB(.)f(An)f Fu(SBlo)l(ck)g FB(con)n(tains)f(the)h(k)n(ey)e(and)i(query)
-f(hash)g(\(CHK\))h(of)f(the)h(top)g Fu(IBlo)l(ck)523
-4625 y FB(together)j(with)h(the)f(metadata)g(b)r(elonging)g(to)g(the)h
-(con)n(ten)n(t,)f(thereb)n(y)g(allo)n(wing)f(users)523
-4725 y(that)h(receiv)n(e)f(an)g Fu(SBlo)l(ck)i FB(to)f(do)n(wnload)f
-(the)h(\014le.)g(Ho)n(w)n(ev)n(er,)e(this)i(data)f(is)h(encrypted)523
-4825 y(suc)n(h)d(that)h(in)n(termediaries)e(do)h(not)g(learn)f(an)n
-(ything)h(ab)r(out)g(the)h(referenced)e(\014le.)i(The)523
-4924 y(encryption)23 b(k)n(ey)f(is)h(the)g(hash)g(of)g(an)g(iden)n
-(ti\014er)f(that)i(the)f(inserter)f(c)n(hose)g(for)h(the)g(con)n(ten)n
-(t.)p Black Black eop end
+(cite.secure2004goh) cvn H.B /ANN pdfmark end
+ 1280 1965 a Black Fz(])g(allo)n(ws)e(serv)n(ers)g(to)h(retriev)n
+(e)g(do)r(cumen)n(ts)g(b)n(y)0 2064 y(k)n(eyw)n(ord)j(without)i
+(learning)e(ab)r(out)i(the)g(rest)f(of)g(the)h(do)r(cumen)n(t.)g(The)g
+(sc)n(heme)f(that)0 2164 y(will)34 b(b)r(e)g(describ)r(ed)f(in)h
+(Section)p 1 0 0 TeXcolorrgb 1055 2164 a
+SDict begin H.S end
+ 1055 2164 a
+1 0 0 TeXcolorrgb Fz(3.6)p 1 0 0 TeXcolorrgb 1161 2110
+a
+SDict begin H.R end
+ 1161 2110 a 1161 2164 a
+SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(subsection.3.6) cvn H.B /ANN pdfmark end
+ 1161 2164 a Black 33 w Fz(impro)n(v)n(es)e
+(on)i(this)g(b)n(y)f(k)n(eeping)g(the)h(k)n(eyw)n(ord)0
+2263 y(itself)24 b(priv)-5 b(ate.)24 b(Additionally)-7
+b(,)23 b(it)h(still)g(allo)n(ws)f(in)n(termediaries)f(to)h(v)n(erify)g
+(the)h(correct)0 2363 y(op)r(eration)i(of)h(the)g(serv)n(er.)e(It)i
+(also)f(a)n(v)n(oids)f(the)i(need)g(for)f(the)i(publisher)e(to)h
+(encrypt)0 2463 y(the)22 b(do)r(cumen)n(t)g(with)g(the)g(public)g(k)n
+(ey)f(of)g(a)h Fs(sp)l(e)l(ci\014c)g Fz(receiv)n(er,)e(thereb)n(y)h
+(theoretically)0 2562 y(p)r(ermitting)j(arbitrary)e(participan)n(ts)h
+(to)h(access)f(same)g(encrypted)h(con)n(ten)n(t)f(\(as)h(long)0
+2662 y(as)j(they)h(are)e(able)i(to)f(obtain)g(or)g(guess)g(the)h
+(necessary)e(k)n(eyw)n(ord\).)125 2766 y(The)38 b(k)n(ey)h(problem)f
+(for)g(the)i(searc)n(h)d(is)i(that)g(simply)g(publishing)g(CHK)g(k)n
+(eys)0 2865 y(in)d(plain)n(text)g(under)f(certain)g(k)n(eyw)n(ords)f
+(\(as)h(done)h(in)g(F)-7 b(reenet)35 b(with)i(KSK)e(k)n(eys\))0
+2965 y(has)g(v)-5 b(arious)35 b(dra)n(wbac)n(ks.)e(First,)j(in)n
+(termediaries)f(w)n(ould)g(learn)g(ab)r(out)h(the)g(CHK)0
+3065 y(k)n(eys)23 b(that)h(they)g(are)f(storing)g(or)g(transmitting,)h
+(whic)n(h)g(could)g(allo)n(w)e(them)j(to)f(easily)0 3164
+y(censor)k(searc)n(h)g(results.)g(Second,)h(the)h(k)n(eyw)n(ords)d(are)
+h(directly)h(exp)r(osed)f(to)h(the)h(in-)0 3264 y(termediaries,)f(whic)
+n(h)h(again)g(w)n(ould)f(facilitate)i(censorship.)e(Finally)-7
+b(,)30 b(p)r(eers)g(w)n(ould)0 3364 y(b)r(e)25 b(able)e(to)h(send)h(in)
+n(v)-5 b(alid)24 b(replies)f(that)i(refer)e(to)h(inappropriate)f(con)n
+(ten)n(t.)g(This)i(ma)n(y)0 3463 y(b)r(e)30 b(just)g(a)f(n)n(uisance)f
+(if)i(malicious)f(p)r(eers)f(use)i(this)f(for)g(adv)n(ertising)f(\(a)h
+(kind)h(of)f(b)r(e-)0 3563 y(ha)n(vior)i(can)i(b)r(e)h(observ)n(ed)d
+(on)i(gn)n(utella)f(from)h(time)h(to)f(time\).)g(P)n(ossibly)f(w)n
+(orse,)f(if)0 3662 y(a)d(net)n(w)n(ork)f(w)n(an)n(ts)g(to)i
+(economically)e(rew)n(ard)f(p)r(eers)i(for)g(returning)g(searc)n(h)e
+(results,)0 3762 y(the)34 b(p)r(ossibilit)n(y)f(of)h(returning)f
+(arbitrary)f(nonsense)g(migh)n(t)i(mak)n(e)f(suc)n(h)g(incen)n(tiv)n(e)
+0 3862 y(sc)n(hemes)27 b(impractical.)125 3965 y(But)19
+b(ho)n(w)g(can)g(a)g(system)h(prev)n(en)n(t)e(p)r(eers)h(from)h
+(returning)e(in)n(v)-5 b(alid)20 b(resp)r(onses)e(to)h(a)0
+4065 y(k)n(eyw)n(ord-based)e(searc)n(h?)h(Since)i(it)g(is)g(inheren)n
+(t)g(in)g(the)g(nature)f(of)h(suc)n(h)f(a)g(searc)n(h)g(that)0
+4165 y(the)j(initiator)e(do)r(es)h(not)g(kno)n(w)g(precisely)f(what)h
+(con)n(ten)n(t)g(is)g(desired,)f(it)i(is)f(imp)r(ossible)0
+4264 y(for)32 b(the)h(query)f(to)h(completely)f(determine)h(the)g
+(reply)-7 b(.)32 b(F)-7 b(or)32 b(this)h(reason,)f(sc)n(hemes)0
+4364 y(lik)n(e)g(CHK)g(cannot)g(b)r(e)h(applied)f(to)g(the)h(k)n(eyw)n
+(ord-searc)n(h)c(problem:)j(in)g(CHK,)h(the)0 4464 y(query)d(hash)h
+(completely)g(determines)g(the)h(reply)-7 b(.)31 b(As)g(a)g(result,)g
+(a)g(k)n(eyw)n(ord-based)0 4563 y(searc)n(h)22 b(mec)n(hanism)h(where)g
+(a)g(query)g(should)g(p)r(ossibly)g(ha)n(v)n(e)g(m)n(ultiple)h(v)-5
+b(alid)23 b(results)0 4663 y(cannot)30 b(b)r(e)g(implemen)n(ted)h
+(based)f(on)g(CHK.)g(Since)g(for)g(this)g(kind)g(of)g(searc)n(h)f
+(there)0 4762 y(cannot)h(b)r(e)g(an)n(y)f(completely)h(deterministic)h
+(link)f(b)r(et)n(w)n(een)g(the)g(k)n(eyw)n(ord)f(and)h(the)p
+Black Black eop end
 %%Page: 12 12
 TeXDict begin 12 11 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -7430,111 +7387,116 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.12) cvn H.B /DEST pdfmark
 end
- 523 232 a Black Fy(12)199 b(C.)27
-b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
-Black 523 448 a FB(The)32 b(iden)n(ti\014er)f(do)r(es)h(not)g(ha)n(v)n
-(e)e(to)i(b)r(e)g(unique)g(and)f(can,)h(for)f(example,)g(b)r(e)i(a)e(k)
-n(eyw)n(ord)523 548 y(\(to)39 b(allo)n(w)e(searc)n(hing)f(the)j
-(namespace\))f(or)f(a)h(passw)n(ord)e(\(for)j(priv)-5
-b(ate)38 b(con)n(ten)n(t\).)g(The)523 648 y(encrypted)32
-b(p)r(ortion)g(of)g(the)g Fu(SBlo)l(ck)h FB(is)f(follo)n(w)n(ed)f(b)n
-(y)h(a)g(hash)f(co)r(de)h(whic)n(h)g(is)g(the)h Fu(query)523
-747 y FB(iden)n(ti\014er)22 b(for)f(the)i Fu(SBlo)l(ck)p
-FB(.)g(The)f(query)f(iden)n(ti\014er)h(is)g(the)g(hash)g(of)g(the)g(k)n
-(ey)g(\(whic)n(h)g(mak)n(es)523 847 y(it)j(the)g(hash)g(of)f(the)h
-(hash)g(of)f(the)h(iden)n(ti\014er\).)g(When)g(a)g(user)f(searc)n(hes)f
-(a)h(namespace,)g(the)523 946 y(request)i(con)n(tains)g(the)h(hash)g
-(of)f(the)i(public)f(k)n(ey)f(of)h(the)g(pseudon)n(ym)f(together)g
-(with)i(the)523 1046 y(query)d(iden)n(ti\014er.)g(By)g(using)g(the)g
-(hash)g(of)g(the)h(k)n(ey)f(as)f(the)i(query)f(iden)n(ti\014er,)g(the)g
-(correct)523 1146 y Fu(SBlo)l(ck)h FB(can)f(b)r(e)g(iden)n(ti\014ed)h
-(b)n(y)e(in)n(termediaries)g(but)h(not)g(decrypted.)g(A)n(t)h(the)f
-(same)f(time,)523 1245 y(only)h(the)g(iden)n(ti\014er)g(and)g(the)h
-(hash)e(of)h(the)h(public)f(k)n(ey)g(of)g(the)g(pseudon)n(ym)g(are)f
-(required)523 1345 y(to)30 b(construct)g(b)r(oth)g(the)h(query)f(iden)n
-(ti\014er)g(needed)g(to)g(searc)n(h)f(the)h(namespace)g(and)g(the)523
-1445 y(k)n(ey)g(needed)i(to)f(decrypt)f(the)i Fu(SBlo)l(ck)p
-FB(.)g(Finally)-7 b(,)31 b Fu(SBlo)l(ck)p FB(s)h(con)n(tain)e(digital)h
-(signature)f(of)523 1544 y(the)e(other)f(con)n(ten)n(ts.)f(This)i(allo)
-n(ws)e(in)n(termediaries)g(to)h(v)n(erify)g(that)g(a)g(giv)n(en)g
-Fu(SBlo)l(ck)h FB(w)n(as)523 1644 y(created)f(b)n(y)g(the)h(o)n(wner)f
-(of)g(the)h(namespace.)648 1743 y(Since)k Fu(SBlo)l(ck)p
-FB(s)i(are)d(signed,)h(it)h(is)g(p)r(ossible)f(to)h(allo)n(w)e(up)r
-(dates.)i(Without)g(a)f(digital)523 1843 y(signature,)26
-b(a)h(secure)f(up)r(date)i(mec)n(hanism)e(is)h(imp)r(ossible,)g(since)g
-(an)n(y)n(one)f(could)h(publish)523 1943 y(a)j(p)r(oten)n(tially)g
-(illegitimate)g(up)r(date.)g(If)h(the)f(up)r(date)h(requires)e(a)h
-(matc)n(hing)f(digital)h(sig-)523 2042 y(nature,)35 b(forged)f(up)r
-(dates)h(are)g(imp)r(ossible.)g(In)g(order)f(to)h(allo)n(w)f(con)n(ten)
-n(t)h(up)r(dates,)h(the)523 2142 y(metadata)e(of)h(an)f
-Fu(SBlo)l(ck)i FB(can)e(con)n(tain)g(information)g(ab)r(out)h(when)g
-(and)f(under)h(whic)n(h)523 2242 y(iden)n(ti\014ers)c(up)r(dates)g(ma)n
-(y)g(b)r(e)g(published.)h(If)f(suc)n(h)g(forw)n(ard)e(p)r(oin)n(ters)i
-(are)f(presen)n(t,)h(the)523 2341 y(o)n(wner)f(of)g(the)i(namespace)e
-(can)g(decide)h(to)g(publish)g(up)r(dates)g(to)g(a)f(particular)g
-(\014le)h(at)f(a)523 2441 y(later)35 b(time.)g(Since)h(the)g(priv)-5
-b(ate)35 b(k)n(ey)f(used)h(for)g(signing)g(is)g(o)n(wned)f(b)n(y)h(a)g
-(single)g(en)n(tit)n(y)-7 b(,)523 2540 y(consistency)33
-b(issues)h(from)g(parallel)f(up)r(dates)h(do)g(not)h(arise.)e(ECRS)h
-(do)r(es)g(not)g(prev)n(en)n(t)523 2640 y(the)28 b(o)n(wner)e(of)i(the)
-g(namespace)f(from)g(publishing)g(con\015icting)h(up)r(dates.)648
-2740 y(It)22 b(should)h(b)r(e)g(recognized)e(that)i(the)g(same)f
-(\014le)g(can)h(b)r(e)g(part)f(of)g(m)n(ultiple)h(namespaces)523
-2839 y(under)k(m)n(ultiple)h(iden)n(ti\014ers)f(without)h(the)g(need)f
-(for)g(storing)f(the)i(\014le)f(m)n(ultiple)h(times)g(in)523
-2939 y(the)37 b(net)n(w)n(ork.)e(The)i Fu(IBlo)l(cks)h
-FB(and)e Fu(DBlo)l(cks)i FB(of)e(the)h(\014le)g(do)f(not)h(need)g(to)f
-(b)r(e)h(c)n(hanged)523 3039 y(when)28 b(the)g(namespace)e(or)h
-(namespace)g(iden)n(ti\014er)g(c)n(hanges.)648 3138 y(Namespaces)f
-(cannot)h(completely)h(solv)n(e)e(the)i(searc)n(h)f(problem.)g(Most)g
-(imp)r(ortan)n(tly)-7 b(,)523 3238 y(users)33 b(w)n(ould)g(still)h(ha)n
-(v)n(e)f(to)h(\014nd)g(the)g(namespaces)f(themselv)n(es,)g(and)h(while)
-g(it)g(can)g(b)r(e)523 3337 y(assumed)g(that)h(users)e(can)h(guess)g(k)
-n(eyw)n(ords,)e(they)j(are)e(unlik)n(ely)h(to)h(b)r(e)f(able)h(to)f
-(guess)523 3437 y(public)h(k)n(eys)f(for)h(a)f(namespace)g(searc)n(h.)g
-(ECRS)g(alleviates)g(this)h(problem)g(b)n(y)g(also)e(of-)523
-3537 y(fering)i(a)g(pure)g(k)n(eyw)n(ord-based)d(searc)n(h)i(in)h(a)g
-Fu(glob)l(al)i FB(k)n(eyw)n(ord)c(space)i(where)f(an)n(y)h(user)523
-3636 y(can)g(adv)n(ertise)g(con)n(ten)n(t.)g(Here,)g(the)h(disadv)-5
-b(an)n(tage)34 b(is)i(clearly)f(that)h(it)g(is)f(p)r(ossible)h(for)523
-3736 y(malicious)h(users)g(to)h(p)r(ollute)g(the)g(global)f(k)n(eyw)n
-(ord)f(space)h(with)h(adv)n(ertisemen)n(ts)e(and)523
-3836 y(other)24 b(inappropriate)g(data.)g(Ho)n(w)n(ev)n(er,)f(it)i(is)g
-(assumed)g(that)g(in)g(that)g(case)f(users)g(will)h(use)523
-3935 y(k)n(eyw)n(ords)j(that)j(are)e(more)h(di\016cult)h(to)f(guess)f
-(or)h(only)f(use)i(the)f(global)f(k)n(eyw)n(ord)g(space)523
-4035 y(to)f(disco)n(v)n(er)d(trust)n(w)n(orth)n(y)h(namespaces,)g(th)n
-(us)i(a)n(v)n(oiding)e(spam)h(most)h(of)f(the)h(time.)523
-4189 y
+ 0 17 a Black Fv(12)879 b(C.)27 b(Grotho\013,)f(K.)g
+(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
+0 248 a Fz(con)n(ten)n(t,)e(ECRS)f(m)n(ust)h(trust)g(the)h(user)e(who)g
+(is)h(uploading)f(the)i(con)n(ten)n(t)e(to)h(pro)n(vide)0
+348 y(a)k(v)-5 b(alid)30 b(link.)f(That)h(user)e(m)n(ust)i(sp)r(ecify)g
+(appropriate)d(k)n(eyw)n(ords)h(\(and)h(metadata\))0
+448 y(that)34 b(prop)r(erly)f(describ)r(es)g(the)h(con)n(ten)n(t.)f
+(Clearly)g(this)h(trust)g(ma)n(y)f(b)r(e)h(misplaced.)0
+547 y(The)j(uploader)e(ma)n(y)h(sp)r(ecify)h(k)n(eyw)n(ords)e(that)i
+(ha)n(v)n(e)e(no)i(seman)n(tic)f(relation)f(with)0 647
+y(the)c(con)n(ten)n(t.)f(One)g(solution)f(to)h(this)h(problem)f(is)g
+(the)h(use)f(of)g(namespaces,)f(whic)n(h)0 746 y(attac)n(k)23
+b(the)i(issue)e(b)n(y)h(enabling)g(users)f(to)h(learn)f(whic)n(h)h
+(uploaders)f(are)g(trust)n(w)n(orth)n(y)-7 b(.)0 924
+y
 SDict begin H.S end
- 523 4189 a 523 4189 a
+ 0 924 a 0 924 a
 SDict begin 12 H.A end
- 523 4189 a 523 4189 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.6) cvn H.B /DEST
+ 0 924 a 0 924 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.5) cvn H.B /DEST
 pdfmark end
- 523
-4189 a 83 x Fs(3.6)95 b(Keyw)m(ord)32 b(searc)m(h)523
-4426 y FB(This)41 b(section)g(describ)r(es)g(ho)n(w)g(information)g(ab)
-r(out)g(namespaces)f(or)h(the)h(CHK)f(k)n(eys)523 4526
-y(that)30 b(are)f(necessary)e(to)j(retriev)n(e)e(a)h(\014le)h(can)f(b)r
-(e)h(obtained)g(b)n(y)f(searc)n(hing)f(using)h(natural)523
-4625 y(language)20 b Fu(keywor)l(ds)i FB({)f(without)h(rev)n(ealing)d
-(the)j(k)n(eyw)n(ords)d(to)i(in)n(termediaries.)f(Searc)n(hing)523
-4725 y(requires)31 b(the)i(con)n(ten)n(t)f(pro)n(vider)f(to)i(supply)f
-(metadata)g(ab)r(out)h(the)g(\014le;)f(in)h(particular,)523
-4825 y(the)40 b(con)n(ten)n(t)g(pro)n(vider)e(m)n(ust)i(supply)g(a)g
-(list)g(of)g(k)n(eyw)n(ords.)e(While)i(the)h(metadata)e(is)523
-4924 y(published)22 b(as)f(part)f(of)i(the)f Fu(KBlo)l(ck)i
-FB(and)e(made)g(a)n(v)-5 b(ailable)20 b(to)i(the)f(recipien)n(t)g(the)h
-(k)n(eyw)n(ords)p Black Black eop end
+ 0 924 a 84 x Fs(3.5)29
+b(Namesp)l(ac)l(es)0 1176 y Fz(One)d(w)n(a)n(y)f(to)h(a)n(v)n(oid)f
+(searc)n(hing)g(in)h(an)h(un)n(trust)n(w)n(orth)n(y)d(global)h(k)n(eyw)
+n(ord)g(space)h(that)0 1276 y(ma)n(y)e(con)n(tain)f(mostly)h
+(inappropriately-lab)r(eled)e(con)n(ten)n(t)i(is)g(to)g(restrict)g(the)
+g(searc)n(h)0 1375 y(to)i(namespaces.)e(A)j(namespace)e(is)g(a)h(k)n
+(eyw)n(ord)e(space)h(that)h(con)n(tains)f(con)n(ten)n(t)h(that)0
+1475 y(is)c(cryptographically)e(signed)h(with)i(the)g(same)e(priv)-5
+b(ate)22 b(k)n(ey)-7 b(.)22 b(The)g(concept)g(of)g(name-)0
+1574 y(spaces)30 b(is)h(also)g(presen)n(t)f(in)i(F)-7
+b(reenet)31 b([)p 0 1 0 TeXcolorrgb 1232 1574 a
+SDict begin H.S end
+ 1232
+1574 a 0 1 0 TeXcolorrgb Fz(5)p 0 1 0 TeXcolorrgb 1274
+1521 a
+SDict begin H.R end
+ 1274 1521 a 1274 1574 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.clark99distributed) cvn H.B /ANN pdfmark end
+ 1274 1574 a Black Fz(],)g(but)h(with)g
+(F)-7 b(reenet)31 b(it)h(is)f(not)g(p)r(ossible)g(to)0
+1674 y(obtain)26 b(m)n(ultiple)i(results)e(b)n(y)h(searc)n(hing)e(a)h
+(namespace.)g(F)-7 b(ortunately)g(,)26 b(it)h(is)g(easy)f(to)0
+1774 y(add)h Fs(se)l(ar)l(chable)j Fz(namespaces)c(to)i(ECRS.)125
+1873 y(In)34 b(ECRS,)h(a)f(namespace)g(is)g(iden)n(ti\014ed)h(b)n(y)f
+(a)h(public-priv)-5 b(ate)34 b(k)n(ey)g(pair)g(\(also)0
+1973 y(referred)28 b(to)g(as)g(the)i(pseudon)n(ym\).)e(The)h(priv)-5
+b(ate)29 b(k)n(ey)f(is)g(used)h(to)g(sign)f(the)h(con)n(ten)n(t)0
+2073 y(that)34 b(is)f(placed)g(in)n(to)g(the)h(namespace,)f(and)g(the)h
+(public)g(k)n(ey)e(\(or)h(more)g(precisely)-7 b(,)0 2172
+y(the)30 b(hash)f(of)g(the)h(public)g(k)n(ey\))f(is)g(used)h(as)f(a)g
+(public)g(handle)h(that)g(is)f(used)g(to)h(refer)0 2272
+y(to)i(the)h(namespace.)f(An)n(y)g(user)g(can)g(create)f(an)n(y)h(n)n
+(um)n(b)r(er)g(of)h(pseudon)n(yms.)e(Once)0 2371 y(the)c(user)f
+(accesses)f(\014les)h(from)g(a)g(particular)g(namespace)f(it)i(is)f(p)r
+(ossible)h(to)f(form)g(an)0 2471 y(opinion)34 b(ab)r(out)g(a)g
+(particular)f(pseudon)n(ym,)g(whic)n(h)h(can)g(then)h(b)r(e)g(used)f
+(to)g(target)0 2571 y(the)28 b(searc)n(h.)125 2670 y(Adding)23
+b(namespaces)g(to)g(the)h(design)f(requires)g(a)g(new)g(t)n(yp)r(e)h
+(of)g(blo)r(c)n(k,)f(called)g(an)0 2770 y Fs(SBlo)l(ck)p
+Fz(.)g(An)f Fs(SBlo)l(ck)h Fz(con)n(tains)d(the)i(k)n(ey)f(and)h(query)
+f(hash)g(\(CHK\))h(of)g(the)g(top)g Fs(IBlo)l(ck)0 2870
+y Fz(together)f(with)h(the)g(metadata)f(b)r(elonging)g(to)h(the)g(con)n
+(ten)n(t,)f(thereb)n(y)g(allo)n(wing)g(users)0 2969 y(that)j(receiv)n
+(e)f(an)h Fs(SBlo)l(ck)h Fz(to)e(do)n(wnload)g(the)h(\014le.)h(Ho)n(w)n
+(ev)n(er,)d(this)i(data)f(is)h(encrypted)0 3069 y(suc)n(h)36
+b(that)h(in)n(termediaries)e(do)h(not)g(learn)g(an)n(ything)g(ab)r(out)
+g(the)h(referenced)f(\014le.)0 3168 y(The)c(encryption)g(k)n(ey)f(is)h
+(the)h(hash)f(of)g(an)g(iden)n(ti\014er)g(that)g(the)h(inserter)e(c)n
+(hose)g(for)0 3268 y(the)23 b(con)n(ten)n(t.)g(The)g(iden)n(ti\014er)g
+(do)r(es)f(not)h(ha)n(v)n(e)f(to)h(b)r(e)g(unique)g(and)g(can,)g(for)f
+(example,)0 3368 y(b)r(e)j(a)f(k)n(eyw)n(ord)f(\(to)h(allo)n(w)g(searc)
+n(hing)e(the)j(namespace\))f(or)f(a)h(passw)n(ord)f(\(for)h(priv)-5
+b(ate)0 3467 y(con)n(ten)n(t\).)33 b(The)g(encrypted)f(p)r(ortion)h(of)
+f(the)h Fs(SBlo)l(ck)h Fz(is)f(follo)n(w)n(ed)f(b)n(y)g(a)h(hash)f(co)r
+(de)0 3567 y(whic)n(h)19 b(is)g(the)g Fs(query)g Fz(iden)n(ti\014er)g
+(for)g(the)g Fs(SBlo)l(ck)p Fz(.)h(The)f(query)f(iden)n(ti\014er)h(is)g
+(the)g(hash)g(of)0 3667 y(the)25 b(k)n(ey)e(\(whic)n(h)i(mak)n(es)e(it)
+h(the)h(hash)f(of)g(the)h(hash)f(of)g(the)g(iden)n(ti\014er\).)h(When)g
+(a)f(user)0 3766 y(searc)n(hes)d(a)i(namespace,)g(the)g(request)g(con)n
+(tains)f(the)i(hash)f(of)g(the)h(public)g(k)n(ey)e(of)i(the)0
+3866 y(pseudon)n(ym)h(together)f(with)i(the)g(query)f(iden)n(ti\014er.)
+g(By)g(using)h(the)f(hash)g(of)h(the)g(k)n(ey)0 3965
+y(as)20 b(the)h(query)f(iden)n(ti\014er,)h(the)g(correct)f
+Fs(SBlo)l(ck)i Fz(can)e(b)r(e)h(iden)n(ti\014ed)h(b)n(y)e(in)n
+(termediaries)0 4065 y(but)35 b(not)f(decrypted.)g(A)n(t)g(the)h(same)e
+(time,)i(only)e(the)i(iden)n(ti\014er)f(and)g(the)g(hash)g(of)0
+4165 y(the)c(public)h(k)n(ey)e(of)h(the)g(pseudon)n(ym)g(are)f
+(required)g(to)g(construct)h(b)r(oth)g(the)h(query)0
+4264 y(iden)n(ti\014er)j(needed)g(to)g(searc)n(h)e(the)j(namespace)e
+(and)g(the)i(k)n(ey)e(needed)h(to)g(decrypt)0 4364 y(the)27
+b Fs(SBlo)l(ck)p Fz(.)h(Finally)-7 b(,)26 b Fs(SBlo)l(ck)p
+Fz(s)i(con)n(tain)e(digital)g(signature)g(of)g(the)h(other)f(con)n(ten)
+n(ts.)0 4464 y(This)h(allo)n(ws)e(in)n(termediaries)h(to)h(v)n(erify)f
+(that)h(a)g(giv)n(en)f Fs(SBlo)l(ck)i Fz(w)n(as)e(created)g(b)n(y)h
+(the)0 4563 y(o)n(wner)f(of)i(the)g(namespace.)125 4663
+y(Since)18 b Fs(SBlo)l(ck)p Fz(s)i(are)d(signed,)i(it)g(is)f(p)r
+(ossible)h(to)f(allo)n(w)g(up)r(dates.)h(Without)g(a)f(digital)0
+4762 y(signature,)40 b(a)g(secure)g(up)r(date)h(mec)n(hanism)g(is)f
+(imp)r(ossible,)h(since)g(an)n(y)n(one)e(could)p Black
+Black eop end
 %%Page: 13 13
 TeXDict begin 13 12 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -7542,124 +7504,106 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.13) cvn H.B /DEST pdfmark
 end
- 523 232 a Black 1036 w Fy(An)25
-b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
-b(13)p Black 523 448 a FB(are)34 b(only)h(used)h(to)f(compute)g(the)h
-Fu(KBlo)l(ck)p FB(s)g(and)f(not)h(made)f(a)n(v)-5 b(ailable)34
-b(to)h(other)g(users)523 548 y(directly)-7 b(.)30 b(It)g(is)g(assumed)f
-(that)h(the)h(user)e(searc)n(hing)f(for)h(data)h(is)g(able)f(to)h
-Fu(guess)g FB(at)f(least)523 648 y(one)f(of)g(these)h(k)n(eyw)n(ords.)d
-(The)j(nature)f(of)g(the)h(searc)n(h)e(implies)i(that)f(there)h(is)f
-(no)g(direct,)523 747 y(cryptographically)19 b(v)n(eri\014able)h
-(relation)g(b)r(et)n(w)n(een)h(the)h(k)n(eyw)n(ord)d(and)i(the)h(con)n
-(ten)n(t.)f(Man)n(y)523 847 y(\014les)26 b(can)f(matc)n(h)h(a)f(giv)n
-(en)g(k)n(eyw)n(ord.)f(Di\013eren)n(t)i(users)f(ma)n(y)g(sometimes)h
-(ha)n(v)n(e)e(a)i(di\013eren)n(t)523 946 y(p)r(erception)i(of)f(what)h
-(is)g(a)f(correct)g(seman)n(tic)g(matc)n(h.)h(Th)n(us,)f(a)h(k)n(eyw)n
-(ord)e(searc)n(h)g(alw)n(a)n(ys)523 1046 y(has)20 b(the)h(p)r(oten)n
-(tial)f(of)h(resulting)f(in)g(searc)n(h)f(results)h(that)h(a)f(user)g
-(ma)n(y)g(\014nd)g(inappropriate.)523 1146 y(It)31 b(is)g(also)f(not)h
-(p)r(ossible)f(to)h(prev)n(en)n(t)f(a)g(user)h(from)f(supplying)h(k)n
-(eyw)n(ords)d(that)k(ha)n(v)n(e)d(no)523 1245 y(seman)n(tic)k(relation)
-f(with)h(the)h(con)n(ten)n(t)e(and)h(thereb)n(y)f(increasing)g(the)h(c)
-n(hance)g(of)g(other)523 1345 y(users)27 b(\014nding)g(undesirable)g
-(results)g(for)g(those)h(k)n(eyw)n(ords.)648 1468 y(Despite)38
-b(these)g(fundamen)n(tal)h(dra)n(wbac)n(ks,)c(ECRS)j(should)g(\(and)g
-(can\))g(giv)n(e)g(some)523 1567 y(un)n(usual)e Fu(guar)l(ante)l(es)f
-FB(for)h(k)n(eyw)n(ord-based)d(searc)n(hes.)h(First,)i(the)g(k)n(eyw)n
-(ord)e(used)i(for)f(a)523 1667 y(searc)n(h)28 b(is)h(not)g(exp)r(osed)f
-(to)h(in)n(termediaries)f(in)i(a)e(w)n(a)n(y)g(that)i(w)n(ould)e(allo)n
-(w)g(them)i(to)f(eas-)523 1767 y(ily)g(exercise)g(editorial)f(con)n
-(trol)g(\(i.e.)i(to)f(censor)f(queries\).)h(Note)g(again)g(that)g(a)g
-(guessing)523 1866 y(attac)n(k)35 b(in)h(whic)n(h)g(the)h(in)n
-(termediary)d(guesses)h(a)h(k)n(eyw)n(ord,)e(computes)h(the)i(resp)r
-(ectiv)n(e)523 1966 y(query)d(hash,)h(and)g(attempts)h(to)f(matc)n(h)g
-(the)g(query)g(hash)f(to)h(the)h(incoming)f(query)-7
-b(,)34 b(is)523 2065 y(considered)c(acceptable;)g(plausible)h
-(deniabilit)n(y)g(for)f(the)h(in)n(termediaries)f(is)h(una\013ected)523
-2165 y(b)n(y)c(this)g(attac)n(k.)f(Secondly)-7 b(,)26
-b(only)h(p)r(eers)f(that)h(ha)n(v)n(e)f(con)n(ten)n(t)g(a)n(v)-5
-b(ailable)26 b(under)h(the)g(giv)n(en)523 2265 y(k)n(eyw)n(ord)32
-b(should)h(b)r(e)h(able)g(to)f(pro)r(duce)h(a)f(v)-5
-b(alid)34 b(resp)r(onse.)e(In)i(other)f(w)n(ords,)g(the)h(ulti-)523
-2364 y(mate)24 b(resp)r(onder)e(m)n(ust)i(ha)n(v)n(e)e(succeeded)h(in)h
-(guessing)f(the)h(k)n(eyw)n(ord.)d(This)j(is)f(imp)r(ortan)n(t)523
-2464 y(since)f(it)g(prev)n(en)n(ts)f(p)r(eers)g(from)h(making)f(up)i
-(replies)e(for)g(arbitrary)f(requests)h(on-the-\015y)-7
-b(.)22 b(If)523 2564 y(p)r(eers)e(w)n(ere)g(able)h(to)g(resp)r(ond)f
-(to)h(an)n(y)f(k)n(eyw)n(ord)f(query)h(without)h(ha)n(ving)f(to)h(at)f
-(least)h(guess)523 2663 y(the)33 b(k)n(eyw)n(ord,)f(they)h(could)f(use)
-h(this)h(to)e(spam)h(ev)n(ery)f(p)r(ossible)g(searc)n(h,)g(rendering)g
-(the)523 2763 y(k)n(eyw)n(ord)e(searc)n(h)g(mostly)i(useless.)f(F)-7
-b(orcing)31 b(resp)r(onders)f(to)i(guess)f(k)n(eyw)n(ords)f(do)r(es)h
-(not)523 2862 y(eliminate)c(the)g(problem)f(completely;)h(ho)n(w)n(ev)n
-(er,)d(it)j(do)r(es)g(limit)g(the)g(attac)n(k)f(to)h(the)g(com-)523
-2962 y(mon,)33 b(easily-guessed)d(k)n(eyw)n(ords.)g(Finally)-7
-b(,)33 b(the)g(v)n(eri\014cation)e(that)i(a)f(resp)r(onse)g(is)g(v)-5
-b(alid)523 3062 y(should)27 b(b)r(e)h(p)r(ossible)g(not)f(only)g(for)h
-(the)f(\014nal)h(recipien)n(t,)f(but)h(also)f(for)g(in)n(termediaries.)
-648 3184 y(ECRS)43 b(ac)n(hiev)n(es)g(all)h(of)g(this)g(with)h(a)f
-Fu(new)h(crypto)l(gr)l(aphic)i(primitive)f FB(called)e
-Ft(K)6 b Fu(-)523 3284 y(deterministic)40 b(keys)f FB(whic)n(h)f(is)g
-(a)g(k)n(ey)f(pair)g(\()p Ft(P)12 b(ub)2167 3299 y Fj(H)t
-FA(\()p Fj(K)t FA(\))2341 3284 y Ft(;)i(P)e(r)r(v)2522
-3299 y Fj(H)t FA(\()p Fj(K)t FA(\))2698 3284 y FB(\))38
-b(generated)f(from)g(a)523 3384 y(k)n(eyw)n(ord)32 b
-Ft(K)6 b FB(.)34 b(The)g(hash)f Ft(H)7 b FB(\()p Ft(K)f
-FB(\))34 b(of)g(the)g(k)n(eyw)n(ord)e(is)i(used)g(as)f(the)i(seed)e
-(and)h(the)g(only)523 3483 y(input)26 b(to)e(the)h(pseudo-random)e(n)n
-(um)n(b)r(er)i(generator)d(that)j(generates)e(the)i(public-priv)-5
-b(ate)523 3583 y(k)n(ey)23 b(pair.)f(The)i(authors)e(are)g(not)i(a)n(w)
-n(are)d(of)i(an)n(y)g(previous)f(use)h(of)g Ft(K)6 b
-FB(-deterministic)23 b(k)n(eys.)523 3683 y(Giv)n(en)g(suc)n(h)g(a)g(k)n
-(ey)f(pair,)h(the)g(inserting)g(p)r(eer)g(generates)e
-Fu(KBlo)l(ck)p FB(s)k(b)n(y)d(signing)h(the)g(meta-)523
-3782 y(data)30 b(necessary)g(to)h(do)n(wnload)e(the)i(\014le)h(with)f
-Ft(P)12 b(r)r(v)2186 3797 y Fj(H)t FA(\()p Fj(K)t FA(\))2362
-3782 y FB(.)31 b Fu(KBlo)l(ck)p FB(s)h(are)d(essen)n(tially)h(lik)n(e)
-523 3882 y Fu(SBlo)l(ck)p FB(s)k(with)g(the)g(di\013erence)f(that)h
-(the)f Ft(K)6 b FB(-determinate)33 b(k)n(ey)g(is)g(used)g(instead)g(of)
-h(the)523 3981 y(pseudon)n(ym.)27 b(The)h(construction)f(of)g(a)g
-Fu(KBlo)l(ck)i FB(is)e(sho)n(wn)g(in)h(Figure)p 1 0 0
-TeXcolorrgb 2770 3981 a
+ 0 17 a Black Fv(An)25 b(Enco)r(ding)h(for)h
+(Censorship-Resistan)n(t)f(Sharing)1068 b(13)p Black
+0 248 a Fz(publish)26 b(a)f(p)r(oten)n(tially)h(illegitimate)f(up)r
+(date.)i(If)f(the)g(up)r(date)g(requires)e(a)h(matc)n(hing)0
+348 y(digital)31 b(signature,)g(forged)f(up)r(dates)i(are)e(imp)r
+(ossible.)i(In)f(order)g(to)g(allo)n(w)f(con)n(ten)n(t)0
+448 y(up)r(dates,)19 b(the)h(metadata)e(of)h(an)g Fs(SBlo)l(ck)h
+Fz(can)f(con)n(tain)f(information)h(ab)r(out)g(when)g(and)0
+547 y(under)27 b(whic)n(h)f(iden)n(ti\014ers)h(up)r(dates)g(ma)n(y)f(b)
+r(e)h(published.)h(If)f(suc)n(h)f(forw)n(ard)g(p)r(oin)n(ters)0
+647 y(are)k(presen)n(t,)h(the)g(o)n(wner)f(of)h(the)g(namespace)f(can)h
+(decide)g(to)g(publish)h(up)r(dates)f(to)0 746 y(a)k(particular)f
+(\014le)i(at)f(a)g(later)f(time.)i(Since)g(the)g(priv)-5
+b(ate)35 b(k)n(ey)f(used)i(for)e(signing)h(is)0 846 y(o)n(wned)f(b)n(y)
+h(a)g(single)f(en)n(tit)n(y)-7 b(,)36 b(consistency)e(issues)g(from)h
+(parallel)f(up)r(dates)h(do)g(not)0 946 y(arise.)27 b(ECRS)h(do)r(es)f
+(not)h(prev)n(en)n(t)g(the)g(o)n(wner)f(of)h(the)g(namespace)f(from)h
+(publishing)0 1045 y(con\015icting)f(up)r(dates.)125
+1145 y(It)e(should)g(b)r(e)g(recognized)f(that)h(the)g(same)g(\014le)g
+(can)g(b)r(e)g(part)g(of)g(m)n(ultiple)g(name-)0 1245
+y(spaces)k(under)h(m)n(ultiple)h(iden)n(ti\014ers)f(without)g(the)h
+(need)f(for)f(storing)g(the)i(\014le)f(m)n(ul-)0 1344
+y(tiple)d(times)g(in)g(the)g(net)n(w)n(ork.)e(The)i Fs(IBlo)l(cks)h
+Fz(and)e Fs(DBlo)l(cks)i Fz(of)e(the)h(\014le)g(do)f(not)h(need)0
+1444 y(to)g(b)r(e)h(c)n(hanged)f(when)h(the)g(namespace)e(or)h
+(namespace)g(iden)n(ti\014er)g(c)n(hanges.)125 1543 y(Namespaces)k
+(cannot)h(completely)g(solv)n(e)f(the)i(searc)n(h)e(problem.)h(Most)g
+(imp)r(or-)0 1643 y(tan)n(tly)-7 b(,)28 b(users)f(w)n(ould)g(still)h
+(ha)n(v)n(e)e(to)i(\014nd)g(the)g(namespaces)f(themselv)n(es,)g(and)h
+(while)0 1743 y(it)33 b(can)g(b)r(e)g(assumed)f(that)h(users)f(can)h
+(guess)f(k)n(eyw)n(ords,)e(they)j(are)f(unlik)n(ely)h(to)f(b)r(e)0
+1842 y(able)22 b(to)f(guess)g(public)i(k)n(eys)e(for)g(a)h(namespace)f
+(searc)n(h.)f(ECRS)i(alleviates)f(this)h(prob-)0 1942
+y(lem)27 b(b)n(y)g(also)f(o\013ering)g(a)h(pure)g(k)n(eyw)n(ord-based)d
+(searc)n(h)i(in)h(a)g Fs(glob)l(al)h Fz(k)n(eyw)n(ord)e(space)0
+2042 y(where)e(an)n(y)f(user)h(can)g(adv)n(ertise)e(con)n(ten)n(t.)i
+(Here,)g(the)h(disadv)-5 b(an)n(tage)22 b(is)j(clearly)e(that)0
+2141 y(it)33 b(is)f(p)r(ossible)g(for)g(malicious)f(users)h(to)g(p)r
+(ollute)h(the)f(global)f(k)n(eyw)n(ord)g(space)g(with)0
+2241 y(adv)n(ertisemen)n(ts)20 b(and)h(other)f(inappropriate)g(data.)g
+(Ho)n(w)n(ev)n(er,)f(it)j(is)f(assumed)f(that)i(in)0
+2340 y(that)i(case)e(users)h(will)g(use)g(k)n(eyw)n(ords)e(that)j(are)e
+(more)h(di\016cult)h(to)f(guess)g(or)f(only)h(use)0 2440
+y(the)f(global)f(k)n(eyw)n(ord)g(space)g(to)h(disco)n(v)n(er)e(trust)n
+(w)n(orth)n(y)h(namespaces,)g(th)n(us)h(a)n(v)n(oiding)0
+2540 y(spam)27 b(most)h(of)f(the)h(time.)0 2718 y
 SDict begin H.S end
- 2770 3981 a 1 0 0 TeXcolorrgb
-FB(2)p 1 0 0 TeXcolorrgb 2812 3928 a
-SDict begin H.R end
- 2812 3928 a 2812
-3981 a
-SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(figure.1.2) cvn H.B /ANN pdfmark end
- 2812 3981 a Black FB(.)648 4104 y(A)c(p)r(eer)h(searc)n(hing)d
-(for)i Ft(K)30 b FB(also)23 b(computes)i Ft(P)12 b(ub)2177
-4119 y Fj(H)t FA(\()p Fj(K)t FA(\))2375 4104 y FB(using)24
-b(the)h(same)f(deterministic)523 4204 y(k)n(ey-generation)32
-b(algorithm)g(\()p Ft(P)12 b(r)r(v)1646 4219 y Fj(H)t
-FA(\()p Fj(K)t FA(\))1857 4204 y FB(is)33 b(also)g(computed)i(but)g
-(not)f(used\).)g(The)g(p)r(eer)523 4303 y(then)k(uses)f
-Ft(H)7 b FB(\()p Ft(P)12 b(ub)1165 4318 y Fj(H)t FA(\()p
-Fj(K)t FA(\))1339 4303 y FB(\))38 b(as)f(the)h(query)f(hash.)g(In)n
-(termediaries)f(can)h(v)n(erify)g(that)h(the)523 4403
-y(resp)r(onse)30 b(is)h(v)-5 b(alid)31 b(b)n(y)f(c)n(hec)n(king)g(the)h
-Fu(KBlo)l(ck)p FB(s)h(signature)e(against)f(its)i(public)h(k)n(ey)-7
-b(,)30 b(and)523 4503 y(c)n(hec)n(king)i(that)i(the)f(public)h(k)n(ey)f
-(hashes)f(to)h(the)h(query)e(hash.)h(Y)-7 b(et)34 b(in)n(termediaries)e
-(are)523 4602 y(unable)21 b(to)h(decrypt)f(the)g(resp)r(onse)g(or)f
-(learn)h(the)g(k)n(eyw)n(ord)f Ft(K)27 b FB(that)21 b(w)n(as)g(used)g
-(to)g(generate)523 4702 y(the)28 b(public)g(k)n(ey)f(without)h
-(guessing.)648 4825 y(In)20 b(conclusion,)g(using)g Fu(KBlo)l(ck)p
-FB(s)h(it)f(is)h(p)r(ossible)f(to)g(allo)n(w)f(in)n(termediaries)g(to)h
-(v)n(erify)g(the)523 4924 y(in)n(tegrit)n(y)h(of)h(replies)f(without)i
-(learning)d(the)j(plain)n(text)e(of)h(the)h(k)n(eyw)n(ord)d(or)h(the)h
-(resp)r(onse.)p Black Black eop end
+ 0 2718
+a 0 2718 a
+SDict begin 12 H.A end
+ 0 2718 a 0 2718 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.6) cvn H.B /DEST
+pdfmark end
+ 0 2718 a 83 x Fs(3.6)h(Keywor)l(d)i(se)l
+(ar)l(ch)0 2969 y Fz(This)25 b(section)f(describ)r(es)g(ho)n(w)g
+(information)g(ab)r(out)h(namespaces)e(or)h(the)h(CHK)g(k)n(eys)0
+3069 y(that)h(are)f(necessary)e(to)j(retriev)n(e)e(a)h(\014le)h(can)f
+(b)r(e)h(obtained)g(b)n(y)f(searc)n(hing)f(using)h(nat-)0
+3168 y(ural)g(language)f Fs(keywor)l(ds)j Fz({)e(without)h(rev)n
+(ealing)d(the)j(k)n(eyw)n(ords)e(to)h(in)n(termediaries.)0
+3268 y(Searc)n(hing)j(requires)f(the)j(con)n(ten)n(t)e(pro)n(vider)g
+(to)h(supply)g(metadata)f(ab)r(out)h(the)h(\014le;)0
+3368 y(in)35 b(particular,)e(the)h(con)n(ten)n(t)g(pro)n(vider)f(m)n
+(ust)h(supply)h(a)e(list)i(of)f(k)n(eyw)n(ords.)e(While)0
+3467 y(the)c(metadata)f(is)g(published)h(as)f(part)g(of)h(the)g
+Fs(KBlo)l(ck)g Fz(and)g(made)f(a)n(v)-5 b(ailable)26
+b(to)i(the)0 3567 y(recipien)n(t)c(the)g(k)n(eyw)n(ords)f(are)g(only)h
+(used)g(to)g(compute)g(the)h Fs(KBlo)l(ck)p Fz(s)g(and)f(not)g(made)0
+3667 y(a)n(v)-5 b(ailable)31 b(to)i(other)f(users)g(directly)-7
+b(.)32 b(It)h(is)g(assumed)f(that)h(the)g(user)f(searc)n(hing)e(for)0
+3766 y(data)21 b(is)h(able)g(to)g Fs(guess)f Fz(at)h(least)g(one)f(of)h
+(these)g(k)n(eyw)n(ords.)e(The)i(nature)f(of)h(the)g(searc)n(h)0
+3866 y(implies)j(that)f(there)g(is)g(no)g(direct,)h(cryptographically)c
+(v)n(eri\014able)j(relation)f(b)r(et)n(w)n(een)0 3965
+y(the)31 b(k)n(eyw)n(ord)f(and)h(the)g(con)n(ten)n(t.)g(Man)n(y)f
+(\014les)h(can)g(matc)n(h)g(a)g(giv)n(en)f(k)n(eyw)n(ord.)f(Dif-)0
+4065 y(feren)n(t)d(users)g(ma)n(y)g(sometimes)g(ha)n(v)n(e)f(a)i
+(di\013eren)n(t)f(p)r(erception)h(of)f(what)h(is)f(a)g(correct)0
+4165 y(seman)n(tic)38 b(matc)n(h.)f(Th)n(us,)h(a)g(k)n(eyw)n(ord)e
+(searc)n(h)h(alw)n(a)n(ys)f(has)h(the)i(p)r(oten)n(tial)f(of)g(re-)0
+4264 y(sulting)32 b(in)g(searc)n(h)f(results)h(that)g(a)g(user)f(ma)n
+(y)g(\014nd)i(inappropriate.)e(It)h(is)g(also)f(not)0
+4364 y(p)r(ossible)e(to)h(prev)n(en)n(t)e(a)i(user)f(from)g(supplying)g
+(k)n(eyw)n(ords)f(that)i(ha)n(v)n(e)e(no)h(seman)n(tic)0
+4464 y(relation)g(with)i(the)f(con)n(ten)n(t)g(and)g(thereb)n(y)g
+(increasing)e(the)j(c)n(hance)e(of)h(other)g(users)0
+4563 y(\014nding)e(undesirable)f(results)g(for)g(those)g(k)n(eyw)n
+(ords.)125 4663 y(Despite)20 b(these)f(fundamen)n(tal)h(dra)n(wbac)n
+(ks,)d(ECRS)i(should)h(\(and)f(can\))h(giv)n(e)e(some)0
+4762 y(un)n(usual)26 b Fs(guar)l(ante)l(es)f Fz(for)h(k)n(eyw)n
+(ord-based)d(searc)n(hes.)h(First,)i(the)g(k)n(eyw)n(ord)e(used)i(for)p
+Black Black eop end
 %%Page: 14 14
 TeXDict begin 14 13 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -7667,1457 +7611,1751 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
+ 0
+17 a 0 17 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.14) cvn H.B /DEST pdfmark
 end
- 523 232 a Black Fy(14)199 b(C.)27
-b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
-Black Black 548 473 a Fq(H)6 b Fy(\()p Fq(K)f Fy(\))1068
-425 y Fh(\(as)28 b(random)i(seed\))1754 454 y Fp(/)p
-Fo(/)p 772 456 982 4 v 918 738 a Fh(\(as)e(key\))1093
-1016 y Fp(\034)p Fo(\034)1067 984 y Fm(8)1043 952 y(8)1018
-921 y(8)993 890 y(8)969 859 y(8)944 828 y(8)919 797 y(8)895
-765 y(8)870 734 y(8)845 703 y(8)821 672 y(8)796 641 y(8)771
-610 y(8)747 578 y(8)722 547 y(8)697 516 y(8)p 1753 397
-2 2 v 1755 398 315 4 v 2070 397 2 2 v 1752 512 4 114
-v 2071 512 V 1753 515 2 2 v 1755 516 315 4 v 2070 515
-2 2 v 1779 472 a Fq(K)5 b(ey)s(g)s(en)1937 769 y Fl(P)j(r)r(v)2046
-783 y Fi(H)s Fg(\()p Fi(K)s Fg(\))1913 1016 y Fp(\017)p
-Fo(\017)p 1911 1016 4 505 v 2206 561 a Fl(P)g(ub)2317
-575 y Fi(H)s Fg(\()p Fi(K)s Fg(\))2520 720 y Fp(\()p
-Fo(\()2482 704 y Fm(Q)2445 688 y(Q)2409 672 y(Q)2372
-656 y(Q)2336 640 y(Q)2299 624 y(Q)2263 608 y(Q)2226 592
-y(Q)2190 576 y(Q)2153 560 y(Q)2117 544 y(Q)2080 528 y(Q)2044
-512 y(Q)p 2519 717 2 2 v 2521 718 206 4 v 2727 717 2
-2 v 2518 817 4 100 v 2729 817 V 2519 820 2 2 v 2521 821
-206 4 v 2727 820 2 2 v 2545 792 a Fq(J)f(oin)2928 766
-y Fp(+)p Fo(3)p 2729 760 179 4 v 2729 776 V 2953 792
-a Fq(K)e(B)t(l)q(ock)573 1100 y(data)972 1074 y Fp(/)p
-Fo(/)p 747 1076 225 4 v 971 1017 2 2 v 972 1018 331 4
-v 1303 1017 2 2 v 970 1132 4 114 v 1305 1132 V 971 1135
-2 2 v 972 1136 331 4 v 1303 1135 2 2 v 997 1092 a Fq(E)t(ncr)r(y)s(pt)
-1343 1136 y Fl(E)1388 1150 y Fi(H)s Fg(\()p Fi(K)s Fg(\))1537
-1136 y Fz(\()p Fl(data)p Fz(\))1806 1074 y Fp(/)p Fo(/)p
-1305 1076 501 4 v 1805 1017 2 2 v 1807 1018 210 4 v 2017
-1017 2 2 v 1804 1132 4 114 v 2019 1132 V 1805 1135 2
-2 v 1807 1136 210 4 v 2017 1135 2 2 v 1831 1092 a Fq(S)t(ig)s(n)2520
-811 y Fp(6)p Fo(6)2482 828 y Fm(m)2446 843 y(m)2410 859
-y(m)2375 874 y(m)2339 889 y(m)2304 905 y(m)2268 920 y(m)2233
-936 y(m)2197 951 y(m)2161 966 y(m)2126 982 y(m)2090 997
-y(m)2055 1013 y(m)2019 1028 y(m)2280 991 y Fy([)p Fq(E)2358
-1003 y Fl(H)t Fz(\()p Fl(K)s Fz(\))2518 991 y Fy(\()p
-Fq(data)p Fy(\)])2749 999 y Fl(P)j(r)r(v)2858 1013 y
-Fi(H)s Fg(\()p Fi(K)s Fg(\))523 1339 y Fs(Fig.)15 b(2.)p
-0 TeXcolorgray 799 1240 a
+ 0 17 a Black Fv(14)879 b(C.)27 b(Grotho\013,)f(K.)g
+(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
+Black 25 273 a Fq(H)6 b Fv(\()p Fq(K)f Fv(\))545 225
+y Fh(\(as)28 b(random)h(seed\))1231 254 y Fp(/)p Fo(/)p
+249 256 982 4 v 395 538 a Fh(\(as)f(key\))570 816 y Fp(\034)p
+Fo(\034)544 784 y Fm(8)520 752 y(8)495 721 y(8)470 690
+y(8)446 659 y(8)421 628 y(8)396 597 y(8)372 565 y(8)347
+534 y(8)322 503 y(8)298 472 y(8)273 441 y(8)248 410 y(8)224
+378 y(8)199 347 y(8)174 316 y(8)p 1230 197 2 2 v 1231
+198 315 4 v 1546 197 2 2 v 1229 312 4 114 v 1548 312
+V 1230 315 2 2 v 1231 316 315 4 v 1546 315 2 2 v 1256
+272 a Fq(K)5 b(ey)s(g)s(en)1414 569 y Fl(P)j(r)r(v)1523
+583 y Fi(H)s Fg(\()p Fi(K)s Fg(\))1389 816 y Fp(\017)p
+Fo(\017)p 1388 816 4 505 v 1683 361 a Fl(P)g(ub)1794
+375 y Fi(H)s Fg(\()p Fi(K)s Fg(\))1997 521 y Fp(\()p
+Fo(\()1959 504 y Fm(Q)1922 488 y(Q)1886 472 y(Q)1849
+456 y(Q)1813 440 y(Q)1776 424 y(Q)1740 408 y(Q)1703 392
+y(Q)1667 376 y(Q)1630 360 y(Q)1594 344 y(Q)1557 328 y(Q)1521
+312 y(Q)p 1996 517 2 2 v 1997 518 206 4 v 2203 517 2
+2 v 1995 617 4 100 v 2206 617 V 1996 620 2 2 v 1997 621
+206 4 v 2203 620 2 2 v 2022 592 a Fq(J)f(oin)2405 566
+y Fp(+)p Fo(3)p 2206 560 179 4 v 2206 576 V 2430 592
+a Fq(K)e(B)t(l)q(ock)50 900 y(data)449 874 y Fp(/)p Fo(/)p
+224 876 225 4 v 448 817 2 2 v 449 818 331 4 v 780 817
+2 2 v 447 932 4 114 v 782 932 V 448 935 2 2 v 449 936
+331 4 v 780 935 2 2 v 474 892 a Fq(E)t(ncr)r(y)s(pt)820
+936 y Fl(E)865 950 y Fi(H)s Fg(\()p Fi(K)s Fg(\))1014
+936 y Fw(\()p Fl(data)p Fw(\))1283 874 y Fp(/)p Fo(/)p
+782 876 501 4 v 1282 817 2 2 v 1284 818 210 4 v 1494
+817 2 2 v 1281 932 4 114 v 1496 932 V 1282 935 2 2 v
+1284 936 210 4 v 1494 935 2 2 v 1308 892 a Fq(S)t(ig)s(n)1997
+611 y Fp(6)p Fo(6)1959 628 y Fm(m)1923 643 y(m)1887 659
+y(m)1852 674 y(m)1816 689 y(m)1781 705 y(m)1745 720 y(m)1709
+736 y(m)1674 751 y(m)1638 766 y(m)1603 782 y(m)1567 797
+y(m)1532 813 y(m)1496 828 y(m)1757 791 y Fv([)p Fq(E)1835
+803 y Fl(H)t Fw(\()p Fl(K)s Fw(\))1995 791 y Fv(\()p
+Fq(data)p Fv(\)])2226 799 y Fl(P)j(r)r(v)2335 813 y Fi(H)s
+Fg(\()p Fi(K)s Fg(\))0 1102 y Fk(Fig.)29 b(2)p 0 TeXcolorgray
+267 1010 a
 SDict begin H.S end
- 799 1240 a 0 TeXcolorgray 0
-TeXcolorgray 799 1240 a
+ 267 1010 a 0 TeXcolorgray 0 TeXcolorgray 267
+1010 a
 SDict begin H.R end
- 799 1240 a 799 1240 a
-SDict begin [ /View [/XYZ H.V] /Dest (figure.1.2) cvn H.B /DEST pdfmark
+ 267 1010 a 267 1010 a
+SDict begin [ /View [/XYZ H.V] /Dest (figure.2) cvn H.B /DEST pdfmark
 end
- 799 1240
-a Black 99 x FB(The)25 b(construction)f(of)g(a)h Fu(KBlo)l(ck)p
-FB(.)h(The)e(hash)h Ft(H)7 b FB(\()p Ft(K)f FB(\))24
-b(of)h(the)g(k)n(eyw)n(ord)e Ft(K)30 b FB(is)25 b(used)523
-1439 y(to)36 b(encrypt)f(the)h(data)f(and)g(to)h(seed)f(the)h(k)n(ey)f
-(generator.)e(The)j(obtained)f(priv)-5 b(ate)36 b(k)n(ey)523
-1538 y Ft(P)12 b(r)r(v)667 1553 y Fj(H)t FA(\()p Fj(K)t
-FA(\))867 1538 y FB(signs)24 b(the)h(encrypted)f(data,)g(but)h(is)f
-(not)g(otherwise)g(used.)g(Finally)-7 b(,)25 b(the)g(public)523
-1638 y(k)n(ey)i Ft(P)12 b(ub)822 1653 y Fj(H)t FA(\()p
-Fj(K)t FA(\))1023 1638 y FB(is)28 b(app)r(ended)g(to)f(the)h(signed)f
-(data)g(to)h(form)f(the)h Fu(KBlo)l(ck)p FB(.)p Black
-Black Black Black 523 1971 2882 4 v 523 2041 a
+ 267 1010 a Black 92 x Fv(The)d
+(construction)h(of)g(a)f Ft(KBlo)l(ck)p Fv(.)h(The)f(hash)g
+Fq(H)6 b Fv(\()p Fq(K)f Fv(\))25 b(of)i(the)f(k)n(eyw)n(ord)f
+Fq(K)31 b Fv(is)c(used)0 1193 y(to)37 b(encrypt)f(the)g(data)h(and)g
+(to)g(seed)g(the)f(k)n(ey)g(generator.)i(The)f(obtained)g(priv)l(ate)g
+(k)n(ey)0 1284 y Fq(P)11 b(r)r(v)134 1296 y Fl(H)t Fw(\()p
+Fl(K)s Fw(\))321 1284 y Fv(signs)28 b(the)e(encrypted)g(data,)h(but)g
+(is)g(not)g(otherwise)h(used.)f(Finally)-6 b(,)27 b(the)g(public)0
+1376 y(k)n(ey)e Fq(P)11 b(ub)276 1388 y Fl(H)t Fw(\()p
+Fl(K)s Fw(\))461 1376 y Fv(is)27 b(app)r(ended)d(to)i(the)f(signed)i
+(data)e(to)h(form)h(the)e Ft(KBlo)l(ck)p Fv(.)p Black
+Black Black 0 1828 a Fz(a)31 b(searc)n(h)f(is)i(not)g(exp)r(osed)f(to)g
+(in)n(termediaries)g(in)h(a)f(w)n(a)n(y)g(that)h(w)n(ould)f(allo)n(w)f
+(them)0 1928 y(to)h(easily)f(exercise)g(editorial)h(con)n(trol)e
+(\(i.e.)j(to)f(censor)f(queries\).)g(Note)i(again)e(that)0
+2027 y(a)i(guessing)f(attac)n(k)h(in)g(whic)n(h)h(the)f(in)n
+(termediary)f(guesses)h(a)g(k)n(eyw)n(ord,)e(computes)0
+2127 y(the)35 b(resp)r(ectiv)n(e)f(query)h(hash,)f(and)h(attempts)g(to)
+g(matc)n(h)g(the)g(query)f(hash)h(to)g(the)0 2226 y(incoming)24
+b(query)-7 b(,)24 b(is)g(considered)f(acceptable;)h(plausible)g
+(deniabilit)n(y)g(for)g(the)h(in)n(ter-)0 2326 y(mediaries)k(is)g
+(una\013ected)i(b)n(y)e(this)h(attac)n(k.)f(Secondly)-7
+b(,)29 b(only)h(p)r(eers)f(that)h(ha)n(v)n(e)f(con-)0
+2426 y(ten)n(t)k(a)n(v)-5 b(ailable)32 b(under)h(the)h(giv)n(en)e(k)n
+(eyw)n(ord)f(should)i(b)r(e)h(able)e(to)h(pro)r(duce)g(a)g(v)-5
+b(alid)0 2525 y(resp)r(onse.)33 b(In)i(other)f(w)n(ords,)f(the)i
+(ultimate)g(resp)r(onder)e(m)n(ust)h(ha)n(v)n(e)g(succeeded)g(in)0
+2625 y(guessing)28 b(the)h(k)n(eyw)n(ord.)f(This)h(is)g(imp)r(ortan)n
+(t)g(since)g(it)g(prev)n(en)n(ts)f(p)r(eers)h(from)g(mak-)0
+2725 y(ing)23 b(up)h(replies)f(for)g(arbitrary)f(requests)h
+(on-the-\015y)-7 b(.)23 b(If)h(p)r(eers)f(w)n(ere)g(able)g(to)g(resp)r
+(ond)0 2824 y(to)32 b(an)n(y)f(k)n(eyw)n(ord)f(query)i(without)g(ha)n
+(ving)f(to)h(at)g(least)g(guess)f(the)h(k)n(eyw)n(ord,)f(they)0
+2924 y(could)c(use)g(this)h(to)g(spam)f(ev)n(ery)f(p)r(ossible)h(searc)
+n(h,)f(rendering)g(the)i(k)n(eyw)n(ord)d(searc)n(h)0
+3023 y(mostly)e(useless.)f(F)-7 b(orcing)21 b(resp)r(onders)h(to)h
+(guess)f(k)n(eyw)n(ords)e(do)r(es)j(not)g(eliminate)g(the)0
+3123 y(problem)c(completely;)h(ho)n(w)n(ev)n(er,)e(it)j(do)r(es)e
+(limit)i(the)f(attac)n(k)f(to)h(the)h(common,)e(easily-)0
+3223 y(guessed)32 b(k)n(eyw)n(ords.)f(Finally)-7 b(,)33
+b(the)h(v)n(eri\014cation)e(that)h(a)g(resp)r(onse)f(is)h(v)-5
+b(alid)33 b(should)0 3322 y(b)r(e)28 b(p)r(ossible)f(not)h(only)f(for)g
+(the)h(\014nal)g(recipien)n(t,)f(but)h(also)f(for)g(in)n(termediaries.)
+125 3445 y(ECRS)h(ac)n(hiev)n(es)f(all)i(of)f(this)h(with)g(a)g
+Fs(new)i(crypto)l(gr)l(aphic)i(primitive)d Fz(called)f
+Fr(K)6 b Fs(-)0 3544 y(deterministic)31 b(keys)e Fz(whic)n(h)f(is)g(a)g
+(k)n(ey)g(pair)f(\()p Fr(P)12 b(ub)1576 3559 y Fj(H)t
+Fx(\()p Fj(K)t Fx(\))1750 3544 y Fr(;)i(P)e(r)r(v)1931
+3559 y Fj(H)t Fx(\()p Fj(K)t Fx(\))2107 3544 y Fz(\))28
+b(generated)f(from)0 3644 y(a)40 b(k)n(eyw)n(ord)f Fr(K)6
+b Fz(.)41 b(The)f(hash)h Fr(H)7 b Fz(\()p Fr(K)f Fz(\))40
+b(of)h(the)g(k)n(eyw)n(ord)e(is)i(used)f(as)g(the)i(seed)e(and)0
+3744 y(the)29 b(only)f(input)i(to)e(the)h(pseudo-random)e(n)n(um)n(b)r
+(er)h(generator)f(that)h(generates)g(the)0 3843 y(public-priv)-5
+b(ate)41 b(k)n(ey)g(pair.)g(The)g(authors)g(are)f(not)h(a)n(w)n(are)f
+(of)h(an)n(y)g(previous)f(use)0 3943 y(of)35 b Fr(K)6
+b Fz(-deterministic)34 b(k)n(eys.)h(Giv)n(en)f(suc)n(h)h(a)g(k)n(ey)f
+(pair,)g(the)i(inserting)e(p)r(eer)h(gener-)0 4042 y(ates)c
+Fs(KBlo)l(ck)p Fz(s)g(b)n(y)g(signing)f(the)i(metadata)e(necessary)f
+(to)i(do)n(wnload)f(the)h(\014le)g(with)0 4142 y Fr(P)12
+b(r)r(v)144 4157 y Fj(H)t Fx(\()p Fj(K)t Fx(\))320 4142
+y Fz(.)31 b Fs(KBlo)l(ck)p Fz(s)h(are)f(essen)n(tially)f(lik)n(e)h
+Fs(SBlo)l(ck)p Fz(s)h(with)g(the)g(di\013erence)f(that)h(the)0
+4242 y Fr(K)6 b Fz(-determinate)30 b(k)n(ey)g(is)h(used)f(instead)h(of)
+g(the)g(pseudon)n(ym.)f(The)h(construction)f(of)0 4341
+y(a)d Fs(KBlo)l(ck)i Fz(is)e(sho)n(wn)g(in)h(Figure)p
+1 0 0 TeXcolorrgb 1049 4341 a
 SDict begin H.S end
- 523 2041
-a 523 2041 a
+ 1049 4341 a 1 0 0 TeXcolorrgb
+Fz(2)p 1 0 0 TeXcolorrgb 1091 4288 a
+SDict begin H.R end
+ 1091 4288 a 1091
+4341 a
+SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(figure.2) cvn H.B /ANN pdfmark end
+ 1091 4341 a Black Fz(.)125 4464 y(A)33 b(p)r(eer)f(searc)n(hing)
+f(for)h Fr(K)39 b Fz(also)31 b(computes)i Fr(P)12 b(ub)1712
+4479 y Fj(H)t Fx(\()p Fj(K)t Fx(\))1919 4464 y Fz(using)32
+b(the)h(same)f(deter-)0 4563 y(ministic)21 b(k)n(ey-generation)d
+(algorithm)i(\()p Fr(P)12 b(r)r(v)1404 4578 y Fj(H)t
+Fx(\()p Fj(K)t Fx(\))1600 4563 y Fz(is)20 b(also)g(computed)h(but)g
+(not)g(used\).)0 4663 y(The)26 b(p)r(eer)f(then)h(uses)f
+Fr(H)7 b Fz(\()p Fr(P)12 b(ub)967 4678 y Fj(H)t Fx(\()p
+Fj(K)t Fx(\))1141 4663 y Fz(\))26 b(as)e(the)i(query)f(hash.)g(In)n
+(termediaries)f(can)h(v)n(er-)0 4762 y(ify)j(that)h(the)f(resp)r(onse)f
+(is)h(v)-5 b(alid)29 b(b)n(y)e(c)n(hec)n(king)g(the)i
+Fs(KBlo)l(ck)p Fz(s)g(signature)e(against)g(its)p Black
+Black eop end
+%%Page: 15 15
+TeXDict begin 15 14 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 17 a
+SDict begin H.S end
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+SDict begin H.R end
+ 0
+17 a 0 17 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.15) cvn H.B /DEST pdfmark
+end
+ 0 17 a Black Fv(An)25 b(Enco)r(ding)h(for)h
+(Censorship-Resistan)n(t)f(Sharing)1068 b(15)p Black
+Black 0 169 2715 4 v 0 239 a
+SDict begin H.S end
+ 0 239 a 0 239 a
 SDict begin 11 H.A end
- 523 2041 a 523 2041 a
+ 0 239 a
+0 239 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.1) cvn H.B /DEST pdfmark
 end
- 523 2041 a Black 563
-2097 a Fy(1.)p Black 42 w(Input:)d(Con)n(ten)n(t)g Fq(C)5
-b Fy(,)26 b(a)g(list)h(of)f(k)n(eyw)n(ords)f Ff(f)p Fq(K)2014
-2105 y Fz(1)2049 2097 y Fq(;)14 b(:::)p Ff(g)27 b Fy(and)e(metadata)h
-Fq(D)r Fy(.)523 2116 y
+ 0 239 a Black 23 296 a Fv(1.)p Black 43 w(Input:)24
+b(Con)n(ten)n(t)h Fq(C)5 b Fv(,)27 b(a)f(list)g(of)g(k)n(eyw)n(ords)g
+Ff(f)p Fq(K)1475 304 y Fw(1)1510 296 y Fq(;)13 b(:::)p
+Ff(g)27 b Fv(and)e(metadata)i Fq(D)r Fv(.)0 314 y
 SDict begin H.S end
- 523 2116 a 523 2116 a
+ 0 314
+a 0 314 a
 SDict begin 11 H.A end
- 523 2116
-a 523 2116 a
+ 0 314 a 0 314 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.2) cvn H.B /DEST pdfmark
 end
- 523 2116 a Black 563 2189 a Fy(2.)p Black
-42 w(Split)g(con)n(ten)n(t)f Fq(C)30 b Fy(in)n(to)c(blo)r(c)n(ks)g
-Fq(B)1653 2197 y Fl(i)1680 2189 y Fy(,)f(eac)n(h)h(of)h(size)f(32Kb.)g
-(Call)i(these)d Fr(DBlo)l(cks)p Fy(.)523 2204 y
+ 0 314 a Black 23 387 a Fv(2.)p
+Black 43 w(Split)e(con)n(ten)n(t)g Fq(C)31 b Fv(in)n(to)26
+b(blo)r(c)n(ks)f Fq(B)1113 395 y Fl(i)1140 387 y Fv(,)h(eac)n(h)g(of)g
+(size)h(32Kb.)f(Call)h(these)f Ft(DBlo)l(cks)p Fv(.)0
+402 y
 SDict begin H.S end
- 523 2204
-a 523 2204 a
+ 0 402 a 0 402 a
 SDict begin 11 H.A end
- 523 2204 a 523 2204 a
+ 0 402 a 0 402 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.3) cvn H.B /DEST pdfmark
 end
- 523 2204 a Black 563
-2280 a Fy(3.)p Black 42 w(Compute)f(hash)f(v)l(alues)h
-Fq(H)1469 2245 y Fl(k)q(ey)1463 2300 y(i)1590 2280 y
-Fy(=)d Fq(H)6 b Fy(\()p Fq(B)1829 2288 y Fl(i)1855 2280
-y Fy(\),)23 b Fq(E)1986 2288 y Fl(i)2034 2280 y Fy(=)e
-Fq(E)2172 2288 y Fl(H)2222 2300 y Fi(k)q(ey)2321 2280
-y Fy(\()p Fq(B)2409 2288 y Fl(i)2436 2280 y Fy(\))i(and)g
-Fq(H)2706 2245 y Fl(q)r(uer)r(y)2700 2300 y(i)2891 2280
-y Fy(=)e Fq(H)6 b Fy(\()p Fq(E)3129 2288 y Fl(i)3154
-2280 y Fy(\).)24 b(F)-6 b(orm)664 2387 y Fr(CHK)835 2395
-y Fl(i)887 2387 y Fy(from)26 b(\()p Fq(H)1168 2351 y
-Fl(q)r(uer)r(y)1162 2406 y(i)1332 2387 y Fq(;)13 b(H)1436
-2351 y Fl(k)q(ey)1430 2406 y(i)1536 2387 y Fy(\).)26
-b(P)n(ad)g(con)n(ten)n(t)f(\(with)h(zeros\))g(if)h(needed.)523
-2406 y
+ 0 402 a Black 23
+478 a Fv(3.)p Black 43 w(Compute)i(hash)f(v)l(alues)h
+Fq(H)942 443 y Fl(k)q(ey)936 498 y(i)1068 478 y Fv(=)c
+Fq(H)6 b Fv(\()p Fq(B)1310 486 y Fl(i)1336 478 y Fv(\),)28
+b Fq(E)1472 486 y Fl(i)1523 478 y Fv(=)d Fq(E)1665 486
+y Fl(H)1715 498 y Fi(k)q(ey)1814 478 y Fv(\()p Fq(B)1902
+486 y Fl(i)1929 478 y Fv(\))i(and)h Fq(H)2208 443 y Fl(q)r(uer)r(y)2202
+498 y(i)2397 478 y Fv(=)c Fq(H)6 b Fv(\()p Fq(E)2638
+486 y Fl(i)2664 478 y Fv(\).)125 585 y(F)-6 b(orm)25
+b Ft(CHK)497 593 y Fl(i)549 585 y Fv(from)i(\()p Fq(H)831
+549 y Fl(q)r(uer)r(y)825 604 y(i)994 585 y Fq(;)13 b(H)1098
+549 y Fl(k)q(ey)1092 604 y(i)1199 585 y Fv(\).)25 b(P)n(ad)h(con)n(ten)
+n(t)f(\(with)h(zeros\))g(if)h(needed.)0 604 y
 SDict begin H.S end
- 523 2406 a 523 2406 a
+ 0 604 a
+0 604 a
 SDict begin 11 H.A end
- 523 2406 a 523 2406 a
+ 0 604 a 0 604 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.4) cvn H.B /DEST pdfmark
 end
- 523
-2406 a Black 563 2478 a Fy(4.)p Black 42 w(Store)f Fq(E)922
-2486 y Fl(i)973 2478 y Fy(under)f(the)g(name)h Fq(H)1598
-2442 y Fl(q)r(uer)r(y)1592 2498 y(i)1762 2478 y Fy(.)523
-2498 y
+ 0 604 a Black 23 676 a Fv(4.)p
+Black 43 w(Store)e Fq(E)382 684 y Fl(i)434 676 y Fv(under)g(the)g(name)
+h Fq(H)1059 640 y Fl(q)r(uer)r(y)1053 696 y(i)1222 676
+y Fv(.)0 696 y
 SDict begin H.S end
- 523 2498 a 523 2498 a
+ 0 696 a 0 696 a
 SDict begin 11 H.A end
- 523 2498 a 523 2498 a
+ 0 696 a 0 696 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.5) cvn H.B /DEST pdfmark
 end
- 523
-2498 a Black 563 2569 a Fy(5.)p Black 42 w(If)g(there)f(is)g(more)h
-(than)f(one)g(blo)r(c)n(k,)h(group)f(the)g(blo)r(c)n(ks)g(in)n(to)h
-(disjoin)n(t)g(sets)g Fq(I)2942 2577 y Fl(j)2999 2569
-y Fy(of)g(up)e(to)i(256)664 2660 y(mem)n(b)r(ers.)e(F)-6
-b(or)23 b(eac)n(h)h Fq(I)1348 2668 y Fl(j)1380 2660 y
-Fy(,)f(create)h Fr(Iblo)l(ck)1838 2668 y Fl(j)1894 2660
-y Fy(con)n(taining)g(the)f Fr(CHK)p Fy(s)g(of)h(the)f(blo)r(c)n(ks)g
-(in)g Fq(I)3185 2668 y Fl(j)3218 2660 y Fy(.)g(Add)664
-2752 y(zero)k(padding)e(if)h(needed.)g(Pro)r(cess)h(eac)n(h)f(new)g
-(32Kb)f(blo)r(c)n(k)h(obtained)g(as)g(in)g(step)p 1 0 0
-TeXcolorrgb 3146 2752 a
+ 0 696
+a Black 23 767 a Fv(5.)p Black 43 w(If)e(there)h(is)g(more)g(than)f
+(one)h(blo)r(c)n(k,)g(group)f(the)h(blo)r(c)n(ks)f(in)n(to)h(disjoin)n
+(t)h(sets)f Fq(I)2394 775 y Fl(j)2450 767 y Fv(of)h(up)e(to)125
+859 y(256)30 b(mem)n(b)r(ers.)g(F)-6 b(or)30 b(eac)n(h)f
+Fq(I)971 867 y Fl(j)1003 859 y Fv(,)h(create)g Ft(Iblo)l(ck)1474
+867 y Fl(j)1536 859 y Fv(con)n(taining)h(the)e Ft(CHK)p
+Fv(s)g(of)h(the)f(blo)r(c)n(ks)125 950 y(in)d Fq(I)249
+958 y Fl(j)281 950 y Fv(.)h(Add)f(zero)i(padding)e(if)i(needed.)e(Pro)r
+(cess)j(eac)n(h)e(new)g(32Kb)f(blo)r(c)n(k)h(obtained)g(as)125
+1041 y(in)e(step)p 1 0 0 TeXcolorrgb 377 1041 a
 SDict begin H.S end
- 3146 2752 a 1 0 0 TeXcolorrgb
-Fy(3)p 1 0 0 TeXcolorrgb 3185 2704 a
+ 377 1041
+a 1 0 0 TeXcolorrgb Fv(3)p 1 0 0 TeXcolorrgb 415 993
+a
 SDict begin H.R end
- 3185 2704 a 3185
-2752 a
+ 415 993 a 415 1041 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (Item.3) cvn H.B /ANN pdfmark end
- 3185 2752 a Black Fy(.)523 2767 y
+ 415 1041 a Black Fv(.)0 1056 y
 SDict begin H.S end
- 523 2767 a 523
-2767 a
+
+0 1056 a 0 1056 a
 SDict begin 11 H.A end
- 523 2767 a 523 2767 a
+ 0 1056 a 0 1056 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.6) cvn H.B /DEST pdfmark
 end
- 523 2767 a Black 563 2843
-a Fy(6.)p Black 42 w(If)20 b(the)g(size)h(of)g Fq(C)k
-Fy(w)n(as)c(smaller)g(than)f(32Kb)g(\(and)f(th)n(us)h(there)f(is)i
-(only)f(one)g(pair)g(of)h(hashco)r(des)664 2934 y Fr(CHK)835
-2942 y Fz(0)870 2934 y Fy(\),)k(create)h Fr(SBlo)l(ck)p
-Fy(s)f(and)g Fr(KBlo)l(ck)p Fy(s)h(con)n(taining)g Fr(CHK)2436
-2942 y Fz(0)2470 2934 y Fy(,)f(the)g(metadata)h Fq(D)h
-Fy(ab)r(out)e(the)664 3026 y(con)n(ten)n(t)i(and)g(the)g(original)i
-(length)f(of)g Fq(C)5 b Fy(.)28 b(Encrypt)f(and)g(sign)h(the)f
-(resulting)h Fr(SBlo)l(ck)p Fy(s)g(and)664 3117 y Fr(KBlo)l(ck)p
-Fy(s.)p 523 3251 2882 4 v Black 1253 3391 a Fs(Fig.)14
-b(3.)p 0 TeXcolorgray 1531 3292 a
+ 0 1056 a Black 23
+1132 a Fv(6.)p Black 43 w(If)32 b(the)h(size)h(of)f Fq(C)38
+b Fv(w)n(as)c(smaller)g(than)f(32Kb)g(\(and)f(th)n(us)g(there)h(is)g
+(only)g(one)g(pair)g(of)125 1224 y(hashco)r(des)e Ft(CHK)662
+1232 y Fw(0)697 1224 y Fv(\),)g(create)h Ft(SBlo)l(ck)p
+Fv(s)f(and)g Ft(KBlo)l(ck)p Fv(s)h(con)n(taining)f Ft(CHK)2298
+1232 y Fw(0)2333 1224 y Fv(,)g(the)g(meta-)125 1315 y(data)25
+b Fq(D)j Fv(ab)r(out)e(the)f(con)n(ten)n(t)g(and)g(the)h(original)h
+(length)f(of)g Fq(C)5 b Fv(.)26 b(Encrypt)f(and)g(sign)h(the)125
+1406 y(resulting)g Ft(SBlo)l(ck)p Fv(s)g(and)g Ft(KBlo)l(ck)p
+Fv(s.)p 0 1521 2715 4 v 0 1629 a Fk(Fig.)i(3)p 0 TeXcolorgray
+267 1538 a
 SDict begin H.S end
- 1531 3292 a 0 TeXcolorgray
-0 TeXcolorgray 1531 3292 a
+ 267 1538 a 0 TeXcolorgray 0 TeXcolorgray 267
+1538 a
 SDict begin H.R end
- 1531 3292 a 1531 3292 a
-SDict begin [ /View [/XYZ H.V] /Dest (figure.1.3) cvn H.B /DEST pdfmark
+ 267 1538 a 267 1538 a
+SDict begin [ /View [/XYZ H.V] /Dest (figure.3) cvn H.B /DEST pdfmark
 end
- 1531
-3292 a Black 99 x FB(The)28 b(ECRS)f(enco)r(ding)h(algorithm.)p
-Black Black 523 3735 a Fu(KBlo)l(ck)p FB(s)21 b(require)e(a)h(k)n(eyw)n
-(ord)f(guess,)g(making)h(it)h(it)f(harder)f(to)i(reply)e(to)i
-(arbitrary)d(queries)523 3834 y(with)36 b(random)f(data;)g(they)h
-(cannot)f(prev)n(en)n(t)g(users)f(from)i(inserting)f(suc)n(h)g(data)g
-(under)523 3934 y(p)r(opular)f(k)n(eyw)n(ords.)f(The)h(receiv)n(er)f
-(of)i(the)g Fu(KBlo)l(ck)h FB(can)e(retriev)n(e)f(the)i(rest)f(of)h
-(the)g(\014le)523 4034 y(tree)27 b(using)h(CHK)f(queries)g(in)h(the)g
-(same)f(w)n(a)n(y)f(as)h(it)h(is)f(done)h(for)f Fu(SBlo)l(ck)p
-FB(s.)523 4310 y
+ 267 1538 a Black 91 x Fv(The)e(ECRS)f
+(enco)r(ding)h(algorithm.)p Black Black 0 1757 2715 4
+v 0 1880 a Fq(B)j Fv(shares)e(\014le)f(whic)n(h)f(is)i(enco)r(ded)e(as)
+h Fq(B)1188 1888 y Fw(1)1223 1880 y Fq(;)13 b(B)1315
+1888 y Fw(2)1376 1880 y Fv(and)25 b(one)h Ft(IBlo)l(ck)f
+Fv(under)g(k)n(eyw)n(ord)g(\\test".)p Black 0 2005 a
+Fq(A)c Ff(!)g Fq(B)t Fv(:)p Black 42 w(Query:)k Fq(H)6
+b Fv(\()p Fq(P)11 b(ub)793 2017 y Fl(H)t Fw(\(\\)p Fl(test)1007
+2003 y Fe(00)1047 2017 y Fw(\))1075 2005 y Fv(\))p Black
+0 2096 a Fq(B)25 b Ff(!)c Fq(A)p Fv(:)p Black 42 w(Resp)r(onse:)105
+b(\([)p Fq(E)847 2108 y Fl(H)t Fw(\(\\)p Fl(test)1061
+2094 y Fe(00)1102 2108 y Fw(\))1130 2096 y Fv(\()p Fq(Q)1221
+2104 y Fw(0)1255 2096 y Fq(;)13 b(K)1354 2104 y Fw(0)1389
+2096 y Fq(;)g(siz)s(e)p Fv(\)])1611 2104 y Fl(P)8 b(r)r(v)1720
+2118 y Fi(H)s Fg(\(\\)p Fi(test)p Fg(\\\))1981 2096 y
+Fq(;)13 b(P)e(ub)2152 2108 y Fl(H)t Fw(\(\\)p Fl(test)2366
+2094 y Fe(00)2407 2108 y Fw(\))2435 2096 y Fv(\))105
+b(\(one)125 2187 y Ft(KBlo)l(ck)p Fv(\))p Black 0 2279
+a Fq(A)21 b Ff(!)g Fq(B)t Fv(:)p Black 42 w(Query:)k
+Fq(Q)617 2287 y Fw(0)677 2279 y Fv(\(CHK-query\))p Black
+0 2370 a Fq(B)g Ff(!)c Fq(A)p Fv(:)p Black 42 w(Resp)r(onse:)26
+b Fq(E)717 2378 y Fl(K)768 2388 y Fg(0)804 2370 y Fv(\()p
+Fq(Q)895 2378 y Fw(1)929 2370 y Fq(;)13 b(K)1028 2378
+y Fw(1)1063 2370 y Fq(;)g(Q)1158 2378 y Fw(2)1192 2370
+y Fq(;)g(K)1291 2378 y Fw(2)1326 2370 y Fv(\))25 b(\(encrypted)g
+Ft(IBlo)l(ck)p Fv(\))p Black 0 2461 a Fq(A)c Ff(!)g Fq(B)t
+Fv(:)p Black 42 w(Query:)k Fq(Q)617 2469 y Fw(1)677 2461
+y Fv(and)g Fq(Q)887 2469 y Fw(2)947 2461 y Fv(\(CHK-query\))p
+Black 0 2553 a Fq(B)g Ff(!)c Fq(A)p Fv(:)p Black 42 w(Resp)r(onse:)26
+b Fq(E)717 2561 y Fl(K)768 2571 y Fg(1)804 2553 y Fv(\()p
+Fq(B)892 2561 y Fw(1)927 2553 y Fv(\))f(and)g Fq(E)1188
+2561 y Fl(K)1239 2571 y Fg(2)1276 2553 y Fv(\()p Fq(B)1364
+2561 y Fw(2)1398 2553 y Fv(\))h(\(encrypted)e Ft(DBlo)l(ck)p
+Fv(s\))p 0 2655 V 0 2763 a Fk(Fig.)42 b(4)p 0 TeXcolorgray
+280 2672 a
 SDict begin H.S end
- 523 4310 a 523 4310 a
+ 280 2672 a 0 TeXcolorgray 0 TeXcolorgray 280
+2672 a
+SDict begin H.R end
+ 280 2672 a 280 2672 a
+SDict begin [ /View [/XYZ H.V] /Dest (figure.4) cvn H.B /DEST pdfmark
+end
+ 280 2672 a Black 91 x Fv(Example)c(proto)r
+(col)h(for)f(an)f(ECRS)h(do)n(wnload.)g(\()p Fq(Q)1883
+2771 y Fl(i)1909 2763 y Fq(;)13 b(K)2008 2771 y Fl(i)2035
+2763 y Fv(\))37 b(is)h(a)g(CHK)f(pair)h(to)0 2854 y(request)25
+b(and)h(decrypt)e(blo)r(c)n(k)i Fq(i)p Fv(.)p Black 0
+3129 a Fz(public)i(k)n(ey)-7 b(,)27 b(and)h(c)n(hec)n(king)e(that)i
+(the)g(public)g(k)n(ey)f(hashes)g(to)h(the)g(query)f(hash.)g(Y)-7
+b(et)0 3228 y(in)n(termediaries)29 b(are)h(unable)g(to)g(decrypt)g(the)
+h(resp)r(onse)f(or)f(learn)h(the)h(k)n(eyw)n(ord)d Fr(K)0
+3328 y Fz(that)g(w)n(as)e(used)i(to)g(generate)e(the)i(public)g(k)n(ey)
+f(without)h(guessing.)125 3433 y(In)39 b(conclusion,)g(using)g
+Fs(KBlo)l(ck)p Fz(s)i(it)e(is)h(p)r(ossible)f(to)g(allo)n(w)g(in)n
+(termediaries)f(to)0 3533 y(v)n(erify)26 b(the)i(in)n(tegrit)n(y)e(of)h
+(replies)f(without)i(learning)e(the)h(plain)n(text)g(of)g(the)h(k)n
+(eyw)n(ord)0 3632 y(or)33 b(the)i(resp)r(onse.)e Fs(KBlo)l(ck)p
+Fz(s)i(require)f(a)f(k)n(eyw)n(ord)g(guess,)g(making)h(it)g(it)h
+(harder)e(to)0 3732 y(reply)21 b(to)g(arbitrary)e(queries)h(with)i
+(random)e(data;)h(they)h(cannot)f(prev)n(en)n(t)f(users)g(from)0
+3831 y(inserting)i(suc)n(h)h(data)f(under)h(p)r(opular)f(k)n(eyw)n
+(ords.)e(The)j(receiv)n(er)e(of)i(the)g Fs(KBlo)l(ck)h
+Fz(can)0 3931 y(retriev)n(e)i(the)j(rest)e(of)h(the)g(\014le)g(tree)f
+(using)h(CHK)g(queries)f(in)h(the)g(same)f(w)n(a)n(y)g(as)g(it)h(is)0
+4031 y(done)f(for)g Fs(SBlo)l(ck)p Fz(s.)0 4239 y
+SDict begin H.S end
+ 0 4239
+a 0 4239 a
 SDict begin 12 H.A end
- 523 4310 a 523
-4310 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.7) cvn H.B /DEST
+ 0 4239 a 0 4239 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.7) cvn H.B /DEST
 pdfmark end
- 523 4310 a 111 x Fs(3.7)95 b(Summary)523 4725
-y FB(The)32 b(ECRS)g(enco)r(ding)f(algorithm)g(is)h(summarized)f(in)h
-(Figure)p 1 0 0 TeXcolorrgb 2610 4725 a
+ 0 4239 a 105 x Fs(3.7)i(Summary)0
+4563 y Fz(The)h(ECRS)g(enco)r(ding)g(algorithm)f(is)h(summarized)f(in)i
+(Figure)p 1 0 0 TeXcolorrgb 2073 4563 a
 SDict begin H.S end
- 2610 4725 a 1 0 0
-TeXcolorrgb FB(3)p 1 0 0 TeXcolorrgb 2652 4672 a
+ 2073 4563 a 1 0 0
+TeXcolorrgb Fz(3)p 1 0 0 TeXcolorrgb 2115 4510 a
 SDict begin H.R end
- 2652
-4672 a 2652 4725 a
+ 2115
+4510 a 2115 4563 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(figure.1.3) cvn H.B /ANN pdfmark end
- 2652 4725 a Black FB(.)g(Figure)p
-1 0 0 TeXcolorrgb 2973 4725 a
+(figure.3) cvn H.B /ANN pdfmark end
+ 2115 4563 a Black Fz(.)f(Figure)p
+1 0 0 TeXcolorrgb 2432 4563 a
 SDict begin H.S end
- 2973 4725 a 1 0 0 TeXcolorrgb
-FB(4)p 1 0 0 TeXcolorrgb 3015 4672 a
+ 2432 4563 a 1 0 0 TeXcolorrgb
+Fz(4)p 1 0 0 TeXcolorrgb 2474 4510 a
 SDict begin H.R end
- 3015 4672 a 3015
-4725 a
+ 2474 4510 a 2474
+4563 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(figure.1.4) cvn H.B /ANN pdfmark end
- 3015 4725 a Black 32 w FB(sho)n(ws)f(the)523 4825
-y(sequence)26 b(of)h(messages)e(exc)n(hanged)h(b)n(y)h(p)r(eers)f(to)h
-(do)n(wnload)e(a)i(64Kb)e(\014le)i(starting)f(with)523
-4924 y(a)h(k)n(eyw)n(ord.)p Black Black eop end
-%%Page: 15 15
-TeXDict begin 15 14 bop 0 0 a
+(figure.4) cvn H.B /ANN pdfmark end
+ 2474 4563 a Black 30 w Fz(sho)n(ws)0 4663 y(the)24
+b(sequence)f(of)h(messages)e(exc)n(hanged)g(b)n(y)i(p)r(eers)f(to)h(do)
+n(wnload)e(a)h(64Kb)g(\014le)h(start-)0 4762 y(ing)j(with)h(a)g(k)n
+(eyw)n(ord.)p Black Black eop end
+%%Page: 16 16
+TeXDict begin 16 15 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.15) cvn H.B /DEST pdfmark
+ 0
+17 a 0 17 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.16) cvn H.B /DEST pdfmark
 end
- 523 232 a Black 1036 w Fy(An)25
-b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
-b(15)p Black Black 523 369 2882 4 v 523 491 a Fq(B)29
-b Fy(shares)e(\014le)f(whic)n(h)f(is)i(enco)r(ded)e(as)h
-Fq(B)1711 499 y Fz(1)1746 491 y Fq(;)13 b(B)1838 499
-y Fz(2)1899 491 y Fy(and)25 b(one)h Fr(IBlo)l(ck)f Fy(under)g(k)n(eyw)n
-(ord)g(\\test".)p Black 523 649 a Fq(A)c Ff(!)g Fq(B)t
-Fw(:)p Black 41 w Fy(Query:)k Fq(H)6 b Fy(\()p Fq(P)11
-b(ub)1319 661 y Fl(H)t Fz(\(\\)p Fl(test)1533 647 y Fe(00)1573
-661 y Fz(\))1601 649 y Fy(\))p Black 523 740 a Fq(B)25
-b Ff(!)c Fq(A)p Fw(:)p Black 41 w Fy(Resp)r(onse:)26
-b(\([)p Fq(E)1294 752 y Fl(H)t Fz(\(\\)p Fl(test)1508
-738 y Fe(00)1549 752 y Fz(\))1577 740 y Fy(\()p Fq(Q)1668
-748 y Fz(0)1702 740 y Fq(;)13 b(K)1801 748 y Fz(0)1836
-740 y Fq(;)g(siz)s(e)p Fy(\)])2058 748 y Fl(P)8 b(r)r(v)2167
-762 y Fi(H)s Fg(\(\\)p Fi(test)p Fg(\\\))2428 740 y Fq(;)13
-b(P)e(ub)2599 752 y Fl(H)t Fz(\(\\)p Fl(test)2813 738
-y Fe(00)2853 752 y Fz(\))2882 740 y Fy(\))25 b(\(one)h
-Fr(KBlo)l(ck)p Fy(\))p Black 523 832 a Fq(A)21 b Ff(!)g
-Fq(B)t Fw(:)p Black 41 w Fy(Query:)k Fq(Q)1143 840 y
-Fz(0)1203 832 y Fy(\(CHK-query\))p Black 523 923 a Fq(B)g
-Ff(!)c Fq(A)p Fw(:)p Black 41 w Fy(Resp)r(onse:)26 b
-Fq(E)1243 931 y Fl(K)1294 941 y Fg(0)1330 923 y Fy(\()p
-Fq(Q)1421 931 y Fz(1)1455 923 y Fq(;)14 b(K)1555 931
-y Fz(1)1589 923 y Fq(;)f(Q)1684 931 y Fz(2)1718 923 y
-Fq(;)h(K)1818 931 y Fz(2)1852 923 y Fy(\))26 b(\(encrypted)e
-Fr(IBlo)l(ck)p Fy(\))p Black 523 1014 a Fq(A)d Ff(!)g
-Fq(B)t Fw(:)p Black 41 w Fy(Query:)k Fq(Q)1143 1022 y
-Fz(1)1203 1014 y Fy(and)g Fq(Q)1413 1022 y Fz(2)1473
-1014 y Fy(\(CHK-query\))p Black 523 1106 a Fq(B)g Ff(!)c
-Fq(A)p Fw(:)p Black 41 w Fy(Resp)r(onse:)26 b Fq(E)1243
-1114 y Fl(K)1294 1124 y Fg(1)1330 1106 y Fy(\()p Fq(B)1418
-1114 y Fz(1)1453 1106 y Fy(\))f(and)h Fq(E)1715 1114
-y Fl(K)1766 1124 y Fg(2)1802 1106 y Fy(\()p Fq(B)1890
-1114 y Fz(2)1924 1106 y Fy(\))g(\(encrypted)e Fr(DBlo)l(ck)p
-Fy(s\))p 523 1241 V 523 1387 a Fs(Fig.)15 b(4.)p 0 TeXcolorgray
-811 1287 a
+ 0 17 a Black Fv(16)879 b(C.)27 b(Grotho\013,)f(K.)g
+(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
+0 165 a
 SDict begin H.S end
- 811 1287 a 0 TeXcolorgray 0 TeXcolorgray 811
-1287 a
-SDict begin H.R end
- 811 1287 a 811 1287 a
-SDict begin [ /View [/XYZ H.V] /Dest (figure.1.4) cvn H.B /DEST pdfmark
-end
- 811 1287 a Black 100 x FB(Example)36
-b(proto)r(col)g(for)g(an)h(ECRS)g(do)n(wnload.)f(\()p
-Ft(Q)2524 1399 y Fj(i)2551 1387 y Ft(;)14 b(K)2659 1399
-y Fj(i)2686 1387 y FB(\))38 b(is)e(a)h(CHK)g(pair)f(to)523
-1486 y(request)27 b(and)g(decrypt)h(blo)r(c)n(k)f Ft(i)p
-FB(.)p Black 523 1680 a
-SDict begin H.S end
- 523 1680 a 523 1680 a
+ 0 165 a 0 165 a
 SDict begin 12 H.A end
- 523 1680
-a 523 1680 a
-SDict begin [ /View [/XYZ H.V] /Dest (section.1.4) cvn H.B /DEST pdfmark
+ 0 165 a 0 165 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.4) cvn H.B /DEST pdfmark
 end
- 523 1680 a 83 x Fv(4)112 b(Extensions)523
-1950 y FB(The)38 b(v)-5 b(anilla)38 b(ECRS)g(enco)r(ding)f(sc)n(heme)h
-(still)g(lea)n(v)n(es)f(some)g(practical)g(problems)h(that)523
-2050 y(should)i(b)r(e)g(addressed)f(to)h(facilitate)g(real-life)f
-(usabilit)n(y)-7 b(.)40 b(F)-7 b(or)40 b(example,)f(the)i(man)n(ual)523
-2149 y(e\013ort)30 b(of)g(assigning)f(or)g(guessing)h(k)n(eyw)n(ords)e
-(should)i(b)r(e)g(minimized.)h(Also,)f(the)h(o)n(v)n(erall)523
-2249 y(system)i(should)g(b)r(e)h(e\016cien)n(t)f(in)g(practice.)g(In)g
-(particular,)f(the)i(system)f(requires)e(p)r(eers)523
-2348 y(to)k(frequen)n(tly)h(handle)f(small,)g(p)r(er-blo)r(c)n(k)g
-(queries,)f(man)n(y)h(of)h(whic)n(h)f(ma)n(y)g(not)g(ha)n(v)n(e)f(a)523
-2448 y(answ)n(er)23 b(that)i(is)g(lo)r(cally)f(a)n(v)-5
-b(ailable.)23 b(The)i(follo)n(wing)e(subsections)h(presen)n(t)g(some)g
-(ideas)g(on)523 2548 y(ho)n(w)j(these)h(issues)f(can)g(b)r(e)h
-(addressed.)523 2685 y
+ 0 165 a 83 x
+FA(4)g(Extensions)0 455 y Fz(The)41 b(v)-5 b(anilla)40
+b(ECRS)g(enco)r(ding)h(sc)n(heme)f(still)h(lea)n(v)n(es)e(some)h
+(practical)g(problems)0 554 y(that)35 b(should)f(b)r(e)h(addressed)f
+(to)g(facilitate)h(real-life)f(usabilit)n(y)-7 b(.)34
+b(F)-7 b(or)34 b(example,)h(the)0 654 y(man)n(ual)25
+b(e\013ort)g(of)g(assigning)f(or)h(guessing)f(k)n(eyw)n(ords)f(should)i
+(b)r(e)h(minimized.)g(Also,)0 754 y(the)j(o)n(v)n(erall)e(system)h
+(should)h(b)r(e)g(e\016cien)n(t)g(in)g(practice.)f(In)h(particular,)f
+(the)h(system)0 853 y(requires)c(p)r(eers)h(to)g(frequen)n(tly)g
+(handle)h(small,)f(p)r(er-blo)r(c)n(k)f(queries,)h(man)n(y)g(of)g(whic)
+n(h)0 953 y(ma)n(y)k(not)g(ha)n(v)n(e)g(a)g(answ)n(er)f(that)i(is)f(lo)
+r(cally)g(a)n(v)-5 b(ailable.)29 b(The)i(follo)n(wing)f(subsections)0
+1052 y(presen)n(t)d(some)g(ideas)g(on)g(ho)n(w)g(these)h(issues)f(can)g
+(b)r(e)h(addressed.)0 1266 y
 SDict begin H.S end
- 523 2685 a 523 2685 a
+ 0 1266 a 0 1266 a
 SDict begin 12 H.A end
- 523 2685
-a 523 2685 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.4.1) cvn H.B /DEST
+ 0 1266
+a 0 1266 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.1) cvn H.B /DEST
 pdfmark end
- 523 2685 a 100 x Fs(4.1)95 b(Keyw)m(ord)32
-b(inference)523 2939 y FB(One)40 b(problem)g(with)i(ECRS)e(is)g(that)h
-(the)g(con)n(ten)n(t)g(m)n(ust)f(often)h(b)r(e)g(asso)r(ciated)e(with)
-523 3039 y(k)n(eyw)n(ords.)23 b(Although)i(this)h(is)f(v)-5
-b(astly)25 b(b)r(etter)g(than)g(forcing)g(the)g(user)g(to)g(rely)f(on)h
-(\\mean-)523 3138 y(ingless")33 b(bitstrings)g(as)g(the)i(only)e(iden)n
-(ti\014er,)h(the)g(k)n(eys)f(m)n(ust)h(still)g(b)r(e)h(c)n(hosen)e(so)g
-(that)523 3238 y(the)25 b(target)f(audience)g(can)h(guess)f(them.)h
-(The)g(simplest)g(non-tec)n(hnical)e(solution)i(for)f(this)523
-3338 y(problem)g(is)g(for)f(a)h(group)f(of)h(users)g(to)g(agree)e(on)i
-(an)g(informal)g(standard)f(for)g(k)n(eyw)n(ords.)g(If)523
-3437 y(con)n(ten)n(t)28 b(pro)n(viders)e(w)n(an)n(t)i(to)g(mak)n(e)f
-(it)i(easy)e(for)h(others)f(to)h(guess)f(a)h(k)n(eyw)n(ord,)f(it)h(is)g
-(t)n(yp-)523 3537 y(ically)h(useful)h(to)g(follo)n(w)f(informal)g(con)n
-(v)n(en)n(tions)f(for)h(k)n(eyw)n(ord)f(selection.)h(F)-7
-b(or)29 b(example,)523 3636 y(a)e(reasonable)f(con)n(v)n(en)n(tion)g
-(ma)n(y)h(b)r(e)h(to)f(only)g(use)h(lo)n(w)n(er-case)d(letters.)648
-3736 y(A)j(larger)f(problem)h(for)g(a)g(k)n(eyw)n(ord-based)e(searc)n
-(h)h(is)h(that)h(users)f(ma)n(y)g(b)r(e)h(reluctan)n(t)523
-3836 y(to)e(put)g(in)g(the)g(e\013ort)f(to)g(pro)n(vide)g(go)r(o)r(d)g
-(k)n(eyw)n(ords)e(for)i(the)h(con)n(ten)n(t)f(that)h(they)g(pro)n
-(vide.)523 3935 y(A)g(solution)f(to)h(this)g(problem)f(is)g(the)h
-Fd(libextractor)22 b FB(library)j([)p 0 1 0 TeXcolorrgb
-2575 3935 a
+ 0 1266 a 86 x Fs(4.1)h(Keywor)l(d)i(infer)l(enc)l(e)0
+1558 y Fz(One)26 b(problem)h(with)g(ECRS)f(is)h(that)g(the)g(con)n(ten)
+n(t)f(m)n(ust)h(often)g(b)r(e)g(asso)r(ciated)e(with)0
+1658 y(k)n(eyw)n(ords.)33 b(Although)i(this)h(is)f(v)-5
+b(astly)35 b(b)r(etter)h(than)f(forcing)f(the)i(user)e(to)i(rely)e(on)0
+1758 y(\\meaningless")22 b(bitstrings)i(as)f(the)i(only)e(iden)n
+(ti\014er,)h(the)h(k)n(eys)e(m)n(ust)h(still)g(b)r(e)h(c)n(hosen)0
+1857 y(so)39 b(that)h(the)h(target)d(audience)i(can)f(guess)g(them.)i
+(The)f(simplest)g(non-tec)n(hnical)0 1957 y(solution)c(for)f(this)i
+(problem)e(is)h(for)g(a)f(group)g(of)h(users)f(to)h(agree)f(on)h(an)f
+(informal)0 2057 y(standard)25 b(for)h(k)n(eyw)n(ords.)e(If)i(con)n
+(ten)n(t)g(pro)n(viders)e(w)n(an)n(t)i(to)g(mak)n(e)f(it)i(easy)e(for)h
+(others)0 2156 y(to)j(guess)e(a)i(k)n(eyw)n(ord,)e(it)i(is)f(t)n
+(ypically)h(useful)g(to)f(follo)n(w)g(informal)g(con)n(v)n(en)n(tions)f
+(for)0 2256 y(k)n(eyw)n(ord)21 b(selection.)h(F)-7 b(or)22
+b(example,)h(a)f(reasonable)f(con)n(v)n(en)n(tion)g(ma)n(y)h(b)r(e)h
+(to)g(only)f(use)0 2355 y(lo)n(w)n(er-case)j(letters.)125
+2458 y(A)34 b(larger)d(problem)i(for)g(a)h(k)n(eyw)n(ord-based)d(searc)
+n(h)h(is)h(that)h(users)f(ma)n(y)g(b)r(e)h(re-)0 2557
+y(luctan)n(t)d(to)f(put)i(in)f(the)g(e\013ort)f(to)h(pro)n(vide)e(go)r
+(o)r(d)h(k)n(eyw)n(ords)f(for)h(the)h(con)n(ten)n(t)g(that)0
+2657 y(they)f(pro)n(vide.)e(A)i(solution)e(to)i(this)f(problem)g(is)g
+(the)h Fd(libextractor)25 b Fz(library)j([)p 0 1 0 TeXcolorrgb
+2586 2657 a
 SDict begin H.S end
- 2575 3935 a 0 1 0 TeXcolorrgb FB(14)p 0 1 0
-TeXcolorrgb 2658 3882 a
+ 2586 2657 a 0 1 0 TeXcolorrgb Fz(14)p 0 1 0
+TeXcolorrgb 2669 2604 a
 SDict begin H.R end
- 2658 3882 a 2658 3935 a
+ 2669 2604 a 2669 2657 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.le2005) cvn H.B /ANN pdfmark end
- 2658
-3935 a Black FB(].)i Fd(libextractor)22 b FB(is)k(a)523
-4035 y(library)j(for)h(metadata)f(extraction)h(that)g(is)g(used)g(to)g
-(automatically)g(extract)f(k)n(eyw)n(ords)523 4135 y(and)f(other)g
-(metadata,)g(suc)n(h)g(as)g(descriptions,)g(commen)n(ts)g(and)g(mime-t)
-n(yp)r(es)h(from)f(\014les)523 4234 y(of)g(v)-5 b(arious)26
-b(formats.)523 4372 y
+ 2669
+2657 a Black Fz(].)0 2757 y Fd(libextractor)17 b Fz(is)22
+b(a)g(library)f(for)h(metadata)g(extraction)f(that)h(is)g(used)h(to)f
+(automati-)0 2856 y(cally)i(extract)g(k)n(eyw)n(ords)e(and)i(other)g
+(metadata,)g(suc)n(h)g(as)g(descriptions,)f(commen)n(ts)0
+2956 y(and)k(mime-t)n(yp)r(es)h(from)f(\014les)h(of)f(v)-5
+b(arious)27 b(formats.)0 3169 y
 SDict begin H.S end
- 523 4372 a 523 4372 a
+ 0 3169 a 0 3169 a
 SDict begin 12 H.A end
- 523 4372
-a 523 4372 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.4.2) cvn H.B /DEST
+ 0 3169
+a 0 3169 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.2) cvn H.B /DEST
 pdfmark end
- 523 4372 a 99 x Fs(4.2)95 b(Directories)523
-4625 y FB(Another)25 b(approac)n(h)e(to)i(a)n(v)n(oiding)e(searc)n(hes)
-g(is)i(to)g(group)e(\014les)i(in)n(to)g(directories.)f(Directo-)523
-4725 y(ries)k(can)g(help)h(with)h(the)f(searc)n(h)e(problem)h(since)h
-(they)f(reduce)h(the)g(need)g(for)f(searc)n(hing.)523
-4825 y(Also,)i(they)h(can)f(b)r(e)h(used)f(to)g(bundle)h(similar)f(con)
-n(ten)n(t)g(and)g(th)n(us)h(help)g(users)e(a)n(v)n(oid)g(in-)523
-4924 y(appropriately)g(lab)r(eled)h(data.)h(If)g(sev)n(eral)d(\014les)j
-(of)g(suc)n(h)f(a)g(directory)f(ha)n(v)n(e)h(appropriate)p
-Black Black eop end
-%%Page: 16 16
-TeXDict begin 16 15 bop 0 0 a
+ 0 3169 a 87 x Fs(4.2)i(Dir)l(e)l(ctories)0
+3462 y Fz(Another)40 b(approac)n(h)e(to)i(a)n(v)n(oiding)f(searc)n(hes)
+f(is)i(to)g(group)f(\014les)h(in)n(to)g(directories.)0
+3562 y(Directories)24 b(can)g(help)h(with)h(the)f(searc)n(h)e(problem)h
+(since)h(they)g(reduce)f(the)h(need)g(for)0 3661 y(searc)n(hing.)k
+(Also,)i(they)g(can)f(b)r(e)h(used)g(to)g(bundle)g(similar)g(con)n(ten)
+n(t)f(and)h(th)n(us)g(help)0 3761 y(users)c(a)n(v)n(oid)g
+(inappropriately)g(lab)r(eled)h(data.)g(If)h(sev)n(eral)e(\014les)h(of)
+g(suc)n(h)g(a)g(directory)0 3860 y(ha)n(v)n(e)g(appropriate)f
+(descriptions,)h(it)h(is)g(lik)n(ely)g(that)g(the)g(other)f(\014les)h
+(will)g(also)f(ha)n(v)n(e)0 3960 y(b)r(een)g(pro)n(vided)f(b)n(y)g(a)g
+(non-malicious)f(part)n(y)-7 b(.)125 4062 y(In)n(tegrating)30
+b(directories)g(in)n(to)h(the)h(ECRS)f(sc)n(heme)g(is)h(fairly)f
+(straigh)n(tforw)n(ard.)0 4162 y(A)25 b(directory)f(is)h(simply)g(a)g
+(\014le)g(that)g(con)n(tains)f(an)n(y)g(n)n(um)n(b)r(er)h(of)g
+Fs(SBlo)l(ck)p Fz(s)h(or)e Fs(KBlo)l(ck)p Fz(s)0 4262
+y(in)33 b(plain)n(text)g(\(!\).)h(Lik)n(e)e(\014les,)h(directories)f
+(are)g(imm)n(utable)h(and)g(are)f(sub)5 b(jected)33 b(to)0
+4361 y(the)28 b(same)f(enco)r(ding)g(for)g(sharing.)125
+4464 y(Note)k(that)h(it)f(is)g(p)r(ossible)g(for)g(users)g(to)g(assem)n
+(ble)f(a)h(directory)f(that)i(refers)e(to)0 4563 y(an)n(y)38
+b(com)n(bination)h(of)g(\014les:)g(\014les)g(the)g(user)f(inserted)h(p)
+r(ersonally)-7 b(,)38 b(\014les)h(that)h(the)0 4663 y(user)24
+b(do)n(wnloaded,)g(\014les)g(that)h(the)g(user)f(encoun)n(tered)g(as)g
+(searc)n(h)f(results)i(but)g(nev)n(er)0 4762 y(do)n(wnloaded,)g(or)g
+(ev)n(en)g(in)n(v)-5 b(alid)26 b(data)f(\(whic)n(h)h(w)n(ould)f(b)r(e)i
+(in)n(terpreted)e(as)g(references)p Black Black eop end
+%%Page: 17 17
+TeXDict begin 17 16 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.16) cvn H.B /DEST pdfmark
+ 0
+17 a 0 17 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.17) cvn H.B /DEST pdfmark
 end
- 523 232 a Black Fy(16)199 b(C.)27
-b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
-Black 523 448 a FB(descriptions,)34 b(it)h(is)g(lik)n(ely)f(that)h(the)
-g(other)f(\014les)h(will)g(also)f(ha)n(v)n(e)f(b)r(een)i(pro)n(vided)f
-(b)n(y)g(a)523 548 y(non-malicious)26 b(part)n(y)-7 b(.)648
-648 y(In)n(tegrating)38 b(directories)g(in)n(to)i(the)g(ECRS)f(sc)n
-(heme)g(is)h(fairly)f(straigh)n(tforw)n(ard.)e(A)523
-747 y(directory)f(is)h(simply)h(a)f(\014le)g(that)h(con)n(tains)e(an)n
-(y)h(n)n(um)n(b)r(er)g(of)g Fu(SBlo)l(ck)p FB(s)h(or)f
-Fu(KBlo)l(ck)p FB(s)h(in)523 847 y(plain)n(text)25 b(\(!\).)h(Lik)n(e)f
-(\014les,)g(directories)f(are)g(imm)n(utable)i(and)f(are)f(sub)5
-b(jected)26 b(to)f(the)h(same)523 946 y(enco)r(ding)h(for)g(sharing.)
-648 1046 y(Note)k(that)h(it)h(is)e(p)r(ossible)h(for)f(users)g(to)h
-(assem)n(ble)e(a)i(directory)e(that)i(refers)f(to)h(an)n(y)523
-1146 y(com)n(bination)d(of)h(\014les:)g(\014les)g(the)g(user)f
-(inserted)h(p)r(ersonally)-7 b(,)28 b(\014les)i(that)g(the)h(user)e(do)
-n(wn-)523 1245 y(loaded,)21 b(\014les)g(that)g(the)h(user)e(encoun)n
-(tered)h(as)f(searc)n(h)g(results)h(but)h(nev)n(er)e(do)n(wnloaded,)g
-(or)523 1345 y(ev)n(en)29 b(in)n(v)-5 b(alid)30 b(data)f(\(whic)n(h)h
-(w)n(ould)g(b)r(e)g(in)n(terpreted)f(as)g(references)g(that)h(corresp)r
-(ond)e(to)523 1445 y(non-existen)n(t)g(\014les\).)h(Directories)e(can)h
-(also)g(refer)f(to)i(other)f(directories,)f(allo)n(wing)g(users)523
-1544 y(to)g(build)h(na)n(vigable)d(structures)h(similar)h(to)g(\014le)g
-(systems)f(or)g(the)i(W)-7 b(orld)27 b(Wide)g(W)-7 b(eb.)28
-b(In)523 1644 y(particular)k(it)i(is)f(p)r(ossible)g(to)g(refer)f(to)h
-(con)n(ten)n(ts)g(of)g(other)g(users)f(and)h(ev)n(en)g(to)g(\014les)g
-(or)523 1743 y(directories)26 b(that)i(are)f(supp)r(osed)g(to)h(b)r(e)g
-(published)g(in)f(the)h(future.)523 1887 y
+ 0 17 a Black Fv(An)25 b(Enco)r(ding)h(for)h
+(Censorship-Resistan)n(t)f(Sharing)1068 b(17)p Black
+Black -1 166 2 2 v 1 167 533 4 v 534 166 2 2 v -2 290
+4 124 v 536 290 V -1 293 2 2 v 1 294 533 4 v 534 293
+2 2 v 25 246 a Fq(S)t(B)t(l)q(ock)r Fv(\()p Fq(Al)q(ice)p
+304 259 177 4 v Fv(\))1478 253 y Fp(1)p Fo(1)p 536 260
+4 4 v 538 260 V 541 260 V 544 261 V 547 261 V 549 261
+V 552 261 V 555 261 V 558 262 V 561 262 V 563 262 V 566
+262 V 569 263 V 572 263 V 574 263 V 577 263 V 580 264
+V 583 264 V 586 264 V 588 264 V 591 264 V 594 265 V 597
+265 V 599 265 V 602 265 V 605 265 V 608 266 V 611 266
+V 613 266 V 616 266 V 619 266 V 622 267 V 624 267 V 627
+267 V 630 267 V 633 267 V 636 268 V 638 268 V 641 268
+V 644 268 V 647 268 V 649 268 V 652 269 V 655 269 V 658
+269 V 660 269 V 663 269 V 666 270 V 669 270 V 672 270
+V 674 270 V 677 270 V 680 270 V 683 271 V 685 271 V 688
+271 V 691 271 V 694 271 V 697 271 V 699 271 V 702 272
+V 705 272 V 708 272 V 710 272 V 713 272 V 716 272 V 719
+272 V 722 273 V 724 273 V 727 273 V 730 273 V 733 273
+V 735 273 V 738 273 V 741 274 V 744 274 V 746 274 V 749
+274 V 752 274 V 755 274 V 758 274 V 760 274 V 763 275
+V 766 275 V 769 275 V 771 275 V 774 275 V 777 275 V 780
+275 V 783 275 V 785 275 V 788 276 V 791 276 V 794 276
+V 796 276 V 799 276 V 802 276 V 805 276 V 808 276 V 810
+276 V 813 276 V 816 276 V 819 277 V 821 277 V 824 277
+V 827 277 V 830 277 V 833 277 V 835 277 V 838 277 V 841
+277 V 844 277 V 846 277 V 849 277 V 852 278 V 855 278
+V 857 278 V 860 278 V 863 278 V 866 278 V 869 278 V 871
+278 V 874 278 V 877 278 V 880 278 V 882 278 V 885 278
+V 888 278 V 891 278 V 894 278 V 896 278 V 899 278 V 902
+278 V 905 279 V 907 279 V 910 279 V 913 279 V 916 279
+V 919 279 V 921 279 V 924 279 V 927 279 V 930 279 V 932
+279 V 935 279 V 938 279 V 941 279 V 944 279 V 946 279
+V 949 279 V 952 279 V 955 279 V 957 279 V 960 279 V 963
+279 V 966 279 V 968 279 V 971 279 V 974 279 V 977 279
+V 980 279 V 982 279 V 985 279 V 988 279 V 991 279 V 993
+279 V 996 279 V 999 279 V 1002 279 V 1005 279 V 1007
+279 V 1010 279 V 1013 279 V 1016 279 V 1018 279 V 1021
+279 V 1024 279 V 1027 279 V 1030 279 V 1032 279 V 1035
+279 V 1038 279 V 1041 279 V 1043 279 V 1046 279 V 1049
+279 V 1052 278 V 1054 278 V 1057 278 V 1060 278 V 1063
+278 V 1066 278 V 1068 278 V 1071 278 V 1074 278 V 1077
+278 V 1079 278 V 1082 278 V 1085 278 V 1088 278 V 1091
+278 V 1093 278 V 1096 278 V 1099 278 V 1102 278 V 1104
+277 V 1107 277 V 1110 277 V 1113 277 V 1116 277 V 1118
+277 V 1121 277 V 1124 277 V 1127 277 V 1129 277 V 1132
+277 V 1135 277 V 1138 276 V 1141 276 V 1143 276 V 1146
+276 V 1149 276 V 1152 276 V 1154 276 V 1157 276 V 1160
+276 V 1163 276 V 1165 276 V 1168 275 V 1171 275 V 1174
+275 V 1177 275 V 1179 275 V 1182 275 V 1185 275 V 1188
+275 V 1190 275 V 1193 274 V 1196 274 V 1199 274 V 1202
+274 V 1204 274 V 1207 274 V 1210 274 V 1213 274 V 1215
+273 V 1218 273 V 1221 273 V 1224 273 V 1227 273 V 1229
+273 V 1232 273 V 1235 272 V 1238 272 V 1240 272 V 1243
+272 V 1246 272 V 1249 272 V 1252 272 V 1254 271 V 1257
+271 V 1260 271 V 1263 271 V 1265 271 V 1268 271 V 1271
+271 V 1274 270 V 1276 270 V 1279 270 V 1282 270 V 1285
+270 V 1288 270 V 1290 269 V 1293 269 V 1296 269 V 1299
+269 V 1301 269 V 1304 268 V 1307 268 V 1310 268 V 1313
+268 V 1315 268 V 1318 268 V 1321 267 V 1324 267 V 1326
+267 V 1329 267 V 1332 267 V 1335 266 V 1338 266 V 1340
+266 V 1343 266 V 1346 266 V 1349 265 V 1351 265 V 1354
+265 V 1357 265 V 1360 265 V 1362 264 V 1365 264 V 1368
+264 V 1371 264 V 1374 264 V 1376 263 V 1379 263 V 1382
+263 V 1385 263 V 1387 262 V 1390 262 V 1393 262 V 1396
+262 V 1399 261 V 1401 261 V 1404 261 V 1407 261 V 1410
+261 V 1412 260 V 1415 260 V 1418 260 V 1421 260 V 1424
+259 V 1426 259 V 1429 259 V 1432 259 V 1435 258 V 1437
+258 V 1440 258 V 1443 258 V 1446 257 V 1449 257 V 1451
+257 V 1454 257 V 1457 256 V 1460 256 V 1462 256 V 1465
+256 V 1468 255 V 1471 255 V 1473 255 V 1476 254 V 1503
+246 a Fq(D)r(ir)r(ector)r(y)1840 254 y Fw(1)536 197 y
+Fp(p)p Fo(p)p 1476 204 V 1473 204 V 1471 204 V 1468 203
+V 1465 203 V 1462 203 V 1460 202 V 1457 202 V 1454 202
+V 1451 202 V 1449 201 V 1446 201 V 1443 201 V 1440 201
+V 1437 200 V 1435 200 V 1432 200 V 1429 200 V 1426 199
+V 1424 199 V 1421 199 V 1418 199 V 1415 198 V 1412 198
+V 1410 198 V 1407 198 V 1404 197 V 1401 197 V 1399 197
+V 1396 197 V 1393 197 V 1390 196 V 1387 196 V 1385 196
+V 1382 196 V 1379 195 V 1376 195 V 1374 195 V 1371 195
+V 1368 195 V 1365 194 V 1362 194 V 1360 194 V 1357 194
+V 1354 193 V 1351 193 V 1349 193 V 1346 193 V 1343 193
+V 1340 192 V 1338 192 V 1335 192 V 1332 192 V 1329 192
+V 1326 191 V 1324 191 V 1321 191 V 1318 191 V 1315 191
+V 1313 191 V 1310 190 V 1307 190 V 1304 190 V 1301 190
+V 1299 190 V 1296 189 V 1293 189 V 1290 189 V 1288 189
+V 1285 189 V 1282 189 V 1279 188 V 1276 188 V 1274 188
+V 1271 188 V 1268 188 V 1265 188 V 1263 187 V 1260 187
+V 1257 187 V 1254 187 V 1252 187 V 1249 187 V 1246 187
+V 1243 186 V 1240 186 V 1238 186 V 1235 186 V 1232 186
+V 1229 186 V 1227 186 V 1224 185 V 1221 185 V 1218 185
+V 1215 185 V 1213 185 V 1210 185 V 1207 185 V 1204 185
+V 1202 184 V 1199 184 V 1196 184 V 1193 184 V 1190 184
+V 1188 184 V 1185 184 V 1182 184 V 1179 183 V 1177 183
+V 1174 183 V 1171 183 V 1168 183 V 1165 183 V 1163 183
+V 1160 183 V 1157 183 V 1154 183 V 1152 182 V 1149 182
+V 1146 182 V 1143 182 V 1141 182 V 1138 182 V 1135 182
+V 1132 182 V 1129 182 V 1127 182 V 1124 182 V 1121 181
+V 1118 181 V 1116 181 V 1113 181 V 1110 181 V 1107 181
+V 1104 181 V 1102 181 V 1099 181 V 1096 181 V 1093 181
+V 1091 181 V 1088 181 V 1085 181 V 1082 181 V 1079 180
+V 1077 180 V 1074 180 V 1071 180 V 1068 180 V 1066 180
+V 1063 180 V 1060 180 V 1057 180 V 1054 180 V 1052 180
+V 1049 180 V 1046 180 V 1043 180 V 1041 180 V 1038 180
+V 1035 180 V 1032 180 V 1030 180 V 1027 180 V 1024 180
+V 1021 180 V 1018 180 V 1016 180 V 1013 180 V 1010 180
+V 1007 180 V 1005 180 V 1002 179 V 999 179 V 996 179
+V 993 179 V 991 179 V 988 179 V 985 179 V 982 179 V 980
+179 V 977 179 V 974 179 V 971 179 V 968 179 V 966 179
+V 963 179 V 960 179 V 957 179 V 955 179 V 952 179 V 949
+180 V 946 180 V 944 180 V 941 180 V 938 180 V 935 180
+V 932 180 V 930 180 V 927 180 V 924 180 V 921 180 V 919
+180 V 916 180 V 913 180 V 910 180 V 907 180 V 905 180
+V 902 180 V 899 180 V 896 180 V 894 180 V 891 180 V 888
+180 V 885 180 V 882 180 V 880 180 V 877 180 V 874 180
+V 871 181 V 869 181 V 866 181 V 863 181 V 860 181 V 857
+181 V 855 181 V 852 181 V 849 181 V 846 181 V 844 181
+V 841 181 V 838 181 V 835 181 V 833 181 V 830 182 V 827
+182 V 824 182 V 821 182 V 819 182 V 816 182 V 813 182
+V 810 182 V 808 182 V 805 182 V 802 182 V 799 183 V 796
+183 V 794 183 V 791 183 V 788 183 V 785 183 V 783 183
+V 780 183 V 777 183 V 774 183 V 771 184 V 769 184 V 766
+184 V 763 184 V 760 184 V 758 184 V 755 184 V 752 184
+V 749 185 V 746 185 V 744 185 V 741 185 V 738 185 V 735
+185 V 733 185 V 730 185 V 727 186 V 724 186 V 722 186
+V 719 186 V 716 186 V 713 186 V 710 186 V 708 187 V 705
+187 V 702 187 V 699 187 V 697 187 V 694 187 V 691 187
+V 688 188 V 685 188 V 683 188 V 680 188 V 677 188 V 674
+188 V 672 189 V 669 189 V 666 189 V 663 189 V 660 189
+V 658 189 V 655 190 V 652 190 V 649 190 V 647 190 V 644
+190 V 641 191 V 638 191 V 636 191 V 633 191 V 630 191
+V 627 191 V 624 192 V 622 192 V 619 192 V 616 192 V 613
+192 V 611 193 V 608 193 V 605 193 V 602 193 V 599 193
+V 597 194 V 594 194 V 591 194 V 588 194 V 586 195 V 583
+195 V 580 195 V 577 195 V 574 195 V 572 196 V 569 196
+V 566 196 V 563 196 V 561 197 V 558 197 V 555 197 V 552
+197 V 549 197 V 547 198 V 544 198 V 541 198 V 538 198
+V 536 199 V 514 430 a Fp(r)p Fo(r)p Fm(e)554 423 y(e)594
+417 y(e)634 410 y(e)674 403 y(e)715 396 y(e)755 389 y(e)795
+382 y(e)835 375 y(e)875 368 y(e)915 361 y(e)955 354 y(e)996
+347 y(e)1036 341 y(e)1076 334 y(e)1116 327 y(e)1156 320
+y(e)1196 313 y(e)1237 306 y(e)1277 299 y(e)1317 292 y(e)1357
+285 y(e)1397 278 y(e)1437 271 y(e)1151 408 y Fp(t)p Fo(t)p
+Fm(j)1187 396 y(j)1223 384 y(j)1260 372 y(j)1296 360
+y(j)1332 347 y(j)1368 335 y(j)1405 323 y(j)1441 311 y(j)1477
+299 y(j)1689 408 y Fp(\017)p Fo(\017)p 1687 408 4 123
+v 2120 166 2 2 v 2121 167 574 4 v 2695 166 2 2 v 2119
+290 4 124 v 2697 290 V 2120 293 2 2 v 2121 294 574 4
+v 2695 293 2 2 v 2145 246 a Fq(K)5 b(B)t(l)q(ock)r Fv(\(\\)p
+Fq(f)j(ood)p Fv(\))1899 228 y Fp(o)p Fo(o)p 1899 230
+222 4 v 22 411 2 2 v 23 412 488 4 v 511 411 2 2 v 21
+534 4 124 v 514 534 V 22 537 2 2 v 23 538 488 4 v 511
+537 2 2 v 47 491 a Fq(S)t(B)t(l)q(ock)r Fv(\()p Fq(B)t(ob)p
+326 504 132 4 v 1 w Fv(\))805 662 y Fp(\))p Fo(\))766
+648 y Fm(T)730 635 y(T)695 623 y(T)659 610 y(T)623 597
+y(T)587 585 y(T)552 572 y(T)516 559 y(T)480 547 y(T)444
+534 y(T)p 654 409 2 2 v 655 410 608 4 v 1263 409 2 2
+v 653 536 4 127 v 1265 536 V 654 539 2 2 v 655 540 608
+4 v 1263 539 2 2 v 679 492 a Fq(K)d(B)t(l)q(ock)r Fv(\(\\)p
+Fq(soda)1169 461 y Fn(00)1210 492 y Fv(\))960 662 y Fp(\017)p
+Fo(\017)p 958 662 4 126 v 1383 409 2 2 v 1384 410 608
+4 v 1992 409 2 2 v 1382 536 4 127 v 1994 536 V 1383 539
+2 2 v 1384 540 608 4 v 1992 539 2 2 v 1408 492 a Fq(K)g(B)t(l)q(ock)r
+Fv(\(\\)p Fq(soda)1898 461 y Fn(00)1939 492 y Fv(\))1689
+662 y Fp(\017)p Fo(\017)p 1687 662 4 126 v 2112 409 2
+2 v 2113 410 590 4 v 2703 409 2 2 v 2111 536 4 127 v
+2705 536 V 2112 539 2 2 v 2113 540 590 4 v 2703 539 2
+2 v 2137 492 a Fq(K)g(B)t(l)q(ock)r Fv(\(\\)p Fq(col)q(a)2608
+461 y Fn(00)2650 492 y Fv(\))1850 662 y Fp(t)p Fo(t)p
+Fm(j)1886 649 y(j)1923 637 y(j)1960 624 y(j)1997 612
+y(j)2034 599 y(j)2071 587 y(j)2107 574 y(j)2144 562 y(j)2181
+549 y(j)p 19 655 V 21 656 493 4 v 514 655 2 2 v 18 779
+4 124 v 516 779 V 19 782 2 2 v 21 783 493 4 v 514 782
+2 2 v 45 735 a Fq(K)g(B)t(l)q(ock)r Fv(\()p Fu(bob)q
+Fv(\))268 534 y Fp(O)p Fo(O)p 266 654 4 120 v 764 738
+a Fq(D)r(ocument)1121 746 y Fw(1)1493 738 y Fq(D)r(ocument)1850
+746 y Fw(2)2213 738 y Fq(D)r(ocument)2570 746 y Fw(3)0
+895 y Fk(Fig.)36 b(5)p 0 TeXcolorgray 274 803 a
 SDict begin H.S end
- 523 1887 a
-523 1887 a
+ 274 803
+a 0 TeXcolorgray 0 TeXcolorgray 274 803 a
+SDict begin H.R end
+ 274 803 a 274
+803 a
+SDict begin [ /View [/XYZ H.V] /Dest (figure.5) cvn H.B /DEST pdfmark
+end
+ 274 803 a Black 306 895 a Fv(ECRS)31 b(allo)n(ws)j(the)e
+(formation)h(of)g(complicated)g(net)n(w)n(ork)e(structures.)h(In)g
+(this)0 986 y(example,)c(the)g Ft(SBlo)l(ck)g Fv(of)h(pseudon)n(ym)e
+Ft(A)n(lic)l(e)p 1203 999 165 4 v 27 w Fv(ev)n(en)n(tually)g(allo)n(ws)
+j(to)e(retriev)n(e)g(t)n(w)n(o)g(of)h(the)0 1077 y(do)r(cumen)n(ts)19
+b(enco)r(ded)h(in)f(the)g(system,)h(as)h(do)r(es)f Ft(Kblo)l(ck)g
+Fv(for)g(k)n(eyw)n(ord)f(\\fo)r(o)r(d.)j(Bo)n(xes)e(denote)0
+1169 y(simple)j(blo)r(c)n(ks)f(that)f(serv)n(e)h(as)h(en)n(try-p)r(oin)
+n(ts.)e(The)h(directory)g(and)g(the)f(do)r(cumen)n(ts)h(consist)0
+1260 y(of)33 b(a)f(tree)h(of)g(p)r(ossibly)f(man)n(y)g(CHK-enco)r(ded)f
+(blo)r(c)n(ks.)i(Searc)n(hing)g(for)g(k)n(eyw)n(ord)e(\\so)r(da")0
+1351 y(w)n(ould)22 b(return)f(t)n(w)n(o)h(results)h(p)r(oin)n(ting)f
+(to)g(di\013eren)n(t)f(resources.)i(Note)f(that)g(all)g(the)g(enco)r
+(ded)0 1443 y(resources,)k(including)f(the)f(one)h(do)r(cumen)n(t)g
+(with)g(no)f(p)r(oin)n(ters)i(to)e(it,)i(can)f(b)r(e)f(retriev)n(ed)h
+(b)n(y)0 1534 y(kno)n(wing)h(the)f(CHK)h(k)n(eys)f(of)h(their)g(ro)r
+(ot)g Ft(IBlo)l(ck)p Fv(s.)p Black Black Black 0 1948
+a Fz(that)f(corresp)r(ond)f(to)h(non-existen)n(t)f(\014les\).)h
+(Directories)f(can)h(also)f(refer)h(to)f(other)h(di-)0
+2048 y(rectories,)e(allo)n(wing)f(users)h(to)h(build)h(na)n(vigable)e
+(structures)g(similar)g(to)h(\014le)g(systems)0 2147
+y(or)29 b(the)i(W)-7 b(orld)29 b(Wide)i(W)-7 b(eb.)30
+b(In)h(particular)d(it)j(is)f(p)r(ossible)f(to)h(refer)g(to)g(con)n
+(ten)n(ts)f(of)0 2247 y(other)22 b(users)f(and)h(ev)n(en)f(to)h
+(\014les)g(or)g(directories)e(that)j(are)e(supp)r(osed)h(to)g(b)r(e)g
+(published)0 2347 y(in)f(the)g(future.)h(Figure)p 1 0 0
+TeXcolorrgb 745 2347 a
+SDict begin H.S end
+ 745 2347 a 1 0 0 TeXcolorrgb Fz(5)p
+1 0 0 TeXcolorrgb 786 2293 a
+SDict begin H.R end
+ 786 2293 a 786 2347 a
+SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(figure.5) cvn H.B /ANN pdfmark end
+ 786
+2347 a Black 21 w Fz(illustrates)e(some)h(of)f(the)i(p)r(ossible)e
+(reference)g(relationships)0 2446 y(b)r(et)n(w)n(een)28
+b(the)g(v)-5 b(arious)26 b(constructs.)0 2647 y
+SDict begin H.S end
+ 0 2647
+a 0 2647 a
 SDict begin 12 H.A end
- 523 1887 a 523 1887 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.4.3) cvn H.B /DEST
+ 0 2647 a 0 2647 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.3) cvn H.B /DEST
 pdfmark end
- 523 1887 a 83 x Fs(4.3)95
-b(E\016cien)m(t)31 b(lo)s(okups)f(with)i(blo)s(om)e(\014lters)523
-2113 y FB(Giv)n(en)24 b(that)h(a)g(query)e(only)i(requires)e(the)i
-(transmission)e(of)i(a)f(hash)g(co)r(de,)h(the)g(n)n(um)n(b)r(er)f(of)
-523 2213 y(queries)29 b(that)i(an)n(y)e(giv)n(en)g(p)r(eer)h(ma)n(y)f
-(receiv)n(e)g(is)h(quite)g(high.)g(The)g(bandwidth)h(required)523
-2313 y(for)40 b(the)i(resp)r(onse)d(can)i(often)g(b)r(e)g(discoun)n
-(ted,)g(since)g(a)f(p)r(eer)h(ma)n(y)f(only)g(b)r(e)i(able)e(to)523
-2412 y(resp)r(ond)32 b(to)h(a)f(fraction)g(of)h(the)g(receiv)n(ed)e
-(queries.)h(Assuming)g(that)h(queries)f(dominate)523
-2512 y(the)d(tra\016c,)f(o)n(v)n(er)f(50)g(queries)h(p)r(er)g(second)g
-(could)h(b)r(e)g(transmitted)f(o)n(v)n(er)f(a)h(slo)n(w)g(mo)r(dem)523
-2612 y(line.)j(Man)n(y)f(p)r(eers)g(migh)n(t)g(not)h(b)r(e)g(able)f(to)
-g(p)r(erform)h(disk-based)e(database)g(lo)r(okups)h(at)523
-2711 y(suc)n(h)f(rates.)f(W)-7 b(orse,)28 b(if)h(p)r(eers)g(are)e
-(sharing)h(gigab)n(ytes)f(of)i(con)n(ten)n(t,)g(simply)g(k)n(eeping)f
-(the)523 2811 y(index)g(information)f(in)h(memory)e(is)i(also)e(often)i
-(no)f(longer)g(feasible.)648 2910 y(In)j(order)f(to)h(dramatically)e
-(reduce)i(the)g(necessary)f(n)n(um)n(b)r(er)h(of)g(database)f
-(accesses,)523 3010 y(ECRS)c(can)g(b)r(e)g(supplemen)n(ted)h(with)f(a)g
-(blo)r(om)g(\014lter)g([)p 0 1 0 TeXcolorrgb 2275 3010
-a
+ 0 2647 a 104 x Fs(4.3)j(E\016cient)h(lo)l
+(okups)h(with)f(blo)l(om)h(\014lters)0 2962 y Fz(Giv)n(en)19
+b(that)g(a)f(query)g(only)h(requires)e(the)i(transmission)f(of)g(a)h
+(hash)f(co)r(de,)h(the)g(n)n(um)n(b)r(er)0 3062 y(of)35
+b(queries)g(that)h(an)n(y)e(giv)n(en)h(p)r(eer)g(ma)n(y)g(receiv)n(e)f
+(is)h(quite)h(high.)f(The)g(bandwidth)0 3161 y(required)24
+b(for)h(the)h(resp)r(onse)e(can)h(often)g(b)r(e)h(discoun)n(ted,)f
+(since)g(a)g(p)r(eer)g(ma)n(y)g(only)f(b)r(e)0 3261 y(able)h(to)h(resp)
+r(ond)f(to)g(a)h(fraction)e(of)i(the)g(receiv)n(ed)f(queries.)f
+(Assuming)i(that)g(queries)0 3360 y(dominate)k(the)g(tra\016c,)f(o)n(v)
+n(er)g(50)g(queries)g(p)r(er)g(second)h(could)f(b)r(e)i(transmitted)f
+(o)n(v)n(er)0 3460 y(a)k(slo)n(w)f(mo)r(dem)h(line.)g(Man)n(y)f(p)r
+(eers)h(migh)n(t)g(not)g(b)r(e)g(able)g(to)g(p)r(erform)f(disk-based)0
+3560 y(database)38 b(lo)r(okups)g(at)g(suc)n(h)h(rates.)e(W)-7
+b(orse,)38 b(if)i(p)r(eers)e(are)g(sharing)f(gigab)n(ytes)g(of)0
+3659 y(con)n(ten)n(t,)32 b(simply)g(k)n(eeping)f(the)i(index)f
+(information)f(in)i(memory)e(is)h(also)f(often)h(no)0
+3759 y(longer)26 b(feasible.)125 3862 y(In)34 b(order)e(to)i
+(dramatically)e(reduce)i(the)g(necessary)e(n)n(um)n(b)r(er)h(of)h
+(database)f(ac-)0 3962 y(cesses,)25 b(ECRS)i(can)f(b)r(e)g(supplemen)n
+(ted)h(with)g(a)f(blo)r(om)g(\014lter)g([)p 0 1 0 TeXcolorrgb
+2020 3962 a
 SDict begin H.S end
- 2275 3010 a 0 1 0 TeXcolorrgb FB(3)p 0 1 0 TeXcolorrgb
-2316 2957 a
+ 2020 3962 a 0 1 0 TeXcolorrgb Fz(3)p 0 1 0
+TeXcolorrgb 2062 3908 a
 SDict begin H.R end
- 2316 2957 a 2316 3010 a
+ 2062 3908 a 2062 3962 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.bloom) cvn H.B /ANN pdfmark end
- 2316 3010 a Black
-FB(],)h(whic)n(h)f(is)g(a)f(probabilistic)g(data)523
-3110 y(structure)39 b(that)h(uses)f(little)h(memory)f(and)g(can)g(b)r
-(e)h(used)g(to)f(\014lter)h(out)f(queries)g(that)523
-3209 y(de\014nitely)29 b(cannot)f(b)r(e)i(answ)n(ered)d(b)n(y)h(the)h
-(lo)r(cal)g(p)r(eer.)f(The)h(blo)r(om)f(\014lter)h(is)g(guaran)n(teed)
-523 3309 y(to)21 b(allo)n(w)f(all)g(queries)h(that)g(can)f(b)r(e)i(lo)r
-(cally)e(answ)n(ered)f(through)i(the)g(\014lter,)g(and)g(will)g(reject)
-523 3409 y(all)33 b(but)h(a)f(statistically)g(insigni\014can)n(t)f(n)n
-(um)n(b)r(er)h(of)h(queries)e(that)i(cannot)f(b)r(e)g(answ)n(ered)523
-3508 y(lo)r(cally)-7 b(.)648 3608 y(The)24 b(size)g(of)g(the)h(blo)r
-(om)f(\014lter)g(in)g(memory)g(that)g(is)g(required)g(to)g(reduce)g
-(the)g(n)n(um)n(b)r(er)523 3708 y(of)36 b(false-p)r(ositiv)n(es)e(to)h
-(appro)n(ximately)f(3\045)h(is)h(ab)r(out)f(one)g(b)n(yte)h(\(8)f(bit)h
-(with)g(5)f(blo)r(om)523 3807 y(tests,)24 b(2)779 3777
-y Fc(\000)p FA(5)891 3807 y Fb(\031)f FB(3\045\))h(p)r(er)g(en)n(try)-7
-b(.)24 b(This)h(reduces)e(the)i(memory)e(requiremen)n(ts)g(for)h(the)h
-(index)523 3907 y(b)n(y)e(a)f(factor)g(of)h(16-64,)e(dep)r(ending)j(on)
-e(the)i(size)e(of)h(the)h(hash.)e(Since)h(a)g(no)r(de)g(o)r
-(ccasionally)523 4006 y(needs)j(to)f(remo)n(v)n(e)f(con)n(ten)n(t)h
-(from)g(the)h(lo)r(cal)f(database,)g(additional)g(bit)h(coun)n(ters)f
-(for)g(the)523 4106 y(blo)r(om)f(\014lter)g(should)g(b)r(e)h(stored)f
-(on)g(the)g(disk.)h(The)f(assumption)g(is)g(that)h(c)n(hanges)d(to)j
-(the)523 4206 y(\014lter)30 b(are)f(rare)g(compared)g(to)h(the)g
-(frequency)g(of)g(queries.)f(Queries)g(that)h(pass)g(through)523
-4305 y(the)38 b(blo)r(om)f(\014lter)h(are)e(forw)n(arded)g(to)i(the)g
-(database)e(la)n(y)n(er)g(whic)n(h)h(then)h(attempts)g(to)523
-4405 y(lo)r(cate)27 b(the)h(con)n(ten)n(t.)523 4532 y
-SDict begin H.S end
-
-523 4532 a 523 4532 a
-SDict begin 12 H.A end
- 523 4532 a 523 4532 a
-SDict begin [ /View [/XYZ H.V] /Dest (section.1.5) cvn H.B /DEST pdfmark
-end
- 523 4532
-a 116 x Fv(5)112 b(Discussion)523 4825 y FB(The)23 b(fact)g(that)h(eac)
-n(h)e Fu(DBlo)l(ck)i FB(can)f(b)r(e)g(enco)r(ded)h(indep)r(enden)n(tly)
-f(from)g(an)n(y)g(other)f Fu(DBlo)l(ck)523 4924 y FB(results)35
-b(in)g(an)g(imp)r(ortan)n(t)g(feature)f(of)h(ECRS)g(called)g
-Fu(on-demand)i(enc)l(o)l(ding)p FB(.)f(Giv)n(en)f(a)p
-Black Black eop end
-%%Page: 17 17
-TeXDict begin 17 16 bop 0 0 a
+ 2062
+3962 a Black Fz(],)g(whic)n(h)h(is)f(a)g(prob-)0 4061
+y(abilistic)36 b(data)f(structure)g(that)h(uses)f(little)h(memory)f
+(and)h(can)f(b)r(e)h(used)f(to)h(\014lter)0 4161 y(out)23
+b(queries)g(that)g(de\014nitely)h(cannot)f(b)r(e)g(answ)n(ered)f(b)n(y)
+h(the)h(lo)r(cal)f(p)r(eer.)g(The)g(blo)r(om)0 4261 y(\014lter)g(is)f
+(guaran)n(teed)g(to)g(allo)n(w)g(all)g(queries)g(that)i(can)e(b)r(e)h
+(lo)r(cally)f(answ)n(ered)g(through)0 4360 y(the)e(\014lter,)g(and)g
+(will)g(reject)g(all)g(but)g(a)g(statistically)f(insigni\014can)n(t)g
+(n)n(um)n(b)r(er)h(of)g(queries)0 4460 y(that)28 b(cannot)f(b)r(e)h
+(answ)n(ered)e(lo)r(cally)-7 b(.)125 4563 y(The)34 b(size)g(of)g(the)h
+(blo)r(om)f(\014lter)h(in)f(memory)g(that)h(is)f(required)f(to)i
+(reduce)f(the)0 4663 y(n)n(um)n(b)r(er)19 b(of)f(false-p)r(ositiv)n(es)
+g(to)g(appro)n(ximately)f(3\045)i(is)f(ab)r(out)h(one)f(b)n(yte)h(\(8)g
+(bit)g(with)g(5)0 4762 y(blo)r(om)g(tests,)f(2)493 4732
+y Fc(\000)p Fx(5)605 4762 y Fb(\031)23 b Fz(3\045\))c(p)r(er)f(en)n
+(try)-7 b(.)19 b(This)g(reduces)f(the)h(memory)f(requiremen)n(ts)f(for)
+p Black Black eop end
+%%Page: 18 18
+TeXDict begin 18 17 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.17) cvn H.B /DEST pdfmark
+ 0
+17 a 0 17 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.18) cvn H.B /DEST pdfmark
 end
- 523 232 a Black 1036 w Fy(An)25
-b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
-b(17)p Black 523 448 a FB(plain)n(text)31 b(\014le)h(and)f(an)f(index)i
-(that)f(maps)g(a)g(query)f(hash)h(to)g(an)g(o\013set)g(in)h(the)f
-(\014le,)h(the)523 548 y(resulting)f Fu(DBlo)l(ck)i FB(can)e(b)r(e)i
-(enco)r(ded)e(on-the-\015y)-7 b(,)32 b(without)g(pro)r(cessing)e(an)n
-(y)h(other)g(part)523 648 y(of)e(the)h(\014le.)g(This)f(can)g(b)r(e)g
-(an)g(imp)r(ortan)n(t)g(b)r(ene\014t)i(if)e(the)h(user)f(in)n(tends)g
-(to)g(k)n(eep)g(the)h(\014le)523 747 y(in)i(plain)n(text)g(on)f(the)h
-(lo)r(cal)f(driv)n(e.)g(In)h(this)g(case,)f(the)h(system)f(can)g(index)
-h(the)g Fu(DBlo)l(cks)523 847 y FB(without)22 b(replicating)f(the)i
-(actual)e(data)g(completely)-7 b(,)22 b(storing)f(only)g(the)h
-(resulting)g Fu(IBlo)l(cks)523 946 y FB(\(and)j Fu(SBlo)l(cks)g
-FB(and)f Fu(KBlo)l(cks)p FB(\))i(and)e(then)h(later)f(pro)r(ducing)f
-(the)i Fu(DBlo)l(cks)h FB(only)e(using)g(the)523 1046
-y(index)31 b(and)h(the)f(original)f(\014le.)i(This)f(can)g(result)g(in)
-h(rather)e(dramatic)h(sa)n(vings)e(in)j(space)523 1146
-y(\(no)c(replication)e(of)i(enco)r(ded)f(con)n(ten)n(t\).)648
-1252 y(Splitting)k(\014les)g(in)n(to)g(blo)r(c)n(ks)f(migh)n(t)g(b)r(e)
-i(p)r(erceiv)n(ed)e(as)g(ha)n(ving)g(a)g(negativ)n(e)g(e\013ect)h(on)
-523 1351 y(the)38 b(preserv)-5 b(ation)37 b(of)h(data.)f(If)i(only)e
-(one)h(of)g(the)g(blo)r(c)n(ks)f(is)h(lost,)g(the)g(larger)e(\014le)i
-(can)523 1451 y(no)30 b(longer)g(b)r(e)h(reconstructed.)f(Man)n(y)g
-(other)g(systems)g([)p 0 1 0 TeXcolorrgb 2344 1451 a
+ 0 17 a Black Fv(18)879 b(C.)27 b(Grotho\013,)f(K.)g
+(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
+0 248 a Fz(the)19 b(index)g(b)n(y)f(a)h(factor)f(of)g(16-64,)f(dep)r
+(ending)i(on)g(the)g(size)f(of)h(the)g(hash.)g(Since)g(a)f(no)r(de)0
+348 y(o)r(ccasionally)i(needs)j(to)f(remo)n(v)n(e)f(con)n(ten)n(t)h
+(from)g(the)g(lo)r(cal)g(database,)g(additional)f(bit)0
+448 y(coun)n(ters)27 b(for)g(the)h(blo)r(om)f(\014lter)h(should)g(b)r
+(e)g(stored)f(on)g(the)h(disk.)g(The)f(assumption)0 547
+y(is)i(that)h(c)n(hanges)e(to)h(the)h(\014lter)f(are)f(rare)g(compared)
+h(to)g(the)g(frequency)g(of)h(queries.)0 647 y(Queries)i(that)h(pass)f
+(through)g(the)h(blo)r(om)g(\014lter)f(are)g(forw)n(arded)f(to)i(the)g
+(database)0 746 y(la)n(y)n(er)26 b(whic)n(h)h(then)i(attempts)f(to)f
+(lo)r(cate)g(the)h(con)n(ten)n(t.)0 942 y
 SDict begin H.S end
-
-2344 1451 a 0 1 0 TeXcolorrgb FB(9)p 0 1 0 TeXcolorrgb
-2385 1397 a
+ 0 942 a 0 942
+a
+SDict begin 12 H.A end
+ 0 942 a 0 942 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.5) cvn H.B /DEST pdfmark
+end
+ 0 942 a 83 x FA(5)f(Discussion)0 1210
+y Fz(The)33 b(fact)h(that)g(eac)n(h)e Fs(DBlo)l(ck)j
+Fz(can)e(b)r(e)g(enco)r(ded)h(indep)r(enden)n(tly)g(from)f(an)n(y)f
+(other)0 1310 y Fs(DBlo)l(ck)23 b Fz(results)e(in)g(an)h(imp)r(ortan)n
+(t)f(feature)g(of)h(ECRS)f(called)g Fs(on-demand)k(enc)l(o)l(ding)p
+Fz(.)0 1410 y(Giv)n(en)20 b(a)g(plain)n(text)g(\014le)g(and)g(an)g
+(index)g(that)h(maps)e(a)h(query)f(hash)h(to)g(an)g(o\013set)g(in)h
+(the)0 1509 y(\014le,)k(the)g(resulting)g Fs(DBlo)l(ck)g
+Fz(can)g(b)r(e)g(enco)r(ded)g(on-the-\015y)-7 b(,)24
+b(without)h(pro)r(cessing)f(an)n(y)0 1609 y(other)e(part)h(of)f(the)i
+(\014le.)f(This)g(can)f(b)r(e)h(an)g(imp)r(ortan)n(t)f(b)r(ene\014t)i
+(if)g(the)f(user)f(in)n(tends)h(to)0 1708 y(k)n(eep)c(the)i(\014le)f
+(in)g(plain)n(text)g(on)g(the)g(lo)r(cal)f(driv)n(e.)h(In)g(this)g
+(case,)f(the)i(system)e(can)h(index)0 1808 y(the)i Fs(DBlo)l(cks)h
+Fz(without)g(replicating)e(the)h(actual)g(data)f(completely)-7
+b(,)22 b(storing)f(only)h(the)0 1908 y(resulting)30 b
+Fs(IBlo)l(cks)h Fz(\(and)f Fs(SBlo)l(cks)h Fz(and)f Fs(KBlo)l(cks)p
+Fz(\))i(and)e(then)g(later)g(pro)r(ducing)g(the)0 2007
+y Fs(DBlo)l(cks)d Fz(only)e(using)h(the)g(index)g(and)g(the)g(original)
+e(\014le.)i(This)g(can)f(result)h(in)g(rather)0 2107
+y(dramatic)h(sa)n(vings)f(in)i(space)e(\(no)i(replication)f(of)g(enco)r
+(ded)h(con)n(ten)n(t\).)125 2207 y(Splitting)f(\014les)f(in)n(to)g(blo)
+r(c)n(ks)g(migh)n(t)g(b)r(e)h(p)r(erceiv)n(ed)f(as)g(ha)n(ving)f(a)h
+(negativ)n(e)f(e\013ect)0 2306 y(on)39 b(the)g(preserv)-5
+b(ation)37 b(of)i(data.)g(If)g(only)g(one)f(of)h(the)h(blo)r(c)n(ks)e
+(is)h(lost,)f(the)i(larger)0 2406 y(\014le)h(can)f(no)h(longer)f(b)r(e)
+h(reconstructed.)f(Man)n(y)g(other)g(systems)g([)p 0 1 0
+TeXcolorrgb 2204 2406 a
+SDict begin H.S end
+ 2204 2406 a 0 1 0 TeXcolorrgb
+Fz(9)p 0 1 0 TeXcolorrgb 2246 2352 a
 SDict begin H.R end
- 2385 1397 a 2385 1451 a
+ 2246 2352 a 2246
+2406 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.freehaven-berk) cvn H.B /ANN pdfmark end
- 2385 1451 a Black
-FB(,)p 0 1 0 TeXcolorrgb 2408 1451 a
+ 2246 2406 a Black Fz(,)p 0 1 0 TeXcolorrgb 2277
+2406 a
 SDict begin H.S end
- 2408 1451 a 0 1 0
-TeXcolorrgb FB(33)p 0 1 0 TeXcolorrgb 2492 1397 a
+ 2277 2406 a 0 1 0 TeXcolorrgb Fz(33)p 0 1 0 TeXcolorrgb
+2360 2352 a
 SDict begin H.R end
- 2492
-1397 a 2492 1451 a
+ 2360 2352 a 2360 2406 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mojotech) cvn H.B /ANN pdfmark end
- 2492 1451 a Black FB(])g(attempt)i(to)e(address)g
-(this)523 1551 y(problem)c(b)n(y)g(either)h(attempting)g(to)f(k)n(eep)g
-(\014les)h(in)n(tact,)g(or)e(b)n(y)i(using)f(erasure)f(co)r(des)h([)p
-0 1 0 TeXcolorrgb 3299 1551 a
+ 2360 2406 a Black
+Fz(])h(attempt)0 2505 y(to)f(address)e(this)i(problem)f(b)n(y)h(either)
+f(attempting)h(to)g(k)n(eep)f(\014les)h(in)n(tact,)f(or)g(b)n(y)0
+2605 y(using)27 b(erasure)e(co)r(des)i([)p 0 1 0 TeXcolorrgb
+750 2605 a
 SDict begin H.S end
- 3299 1551 a 0 1 0 TeXcolorrgb
-FB(25)p 0 1 0 TeXcolorrgb 3382 1497 a
+ 750 2605 a 0 1 0 TeXcolorrgb Fz(25)p 0 1 0
+TeXcolorrgb 833 2552 a
 SDict begin H.R end
- 3382 1497 a 3382
-1551 a
+ 833 2552 a 833 2605 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.rabin89efficient) cvn H.B /ANN pdfmark end
- 3382 1551 a Black FB(])523 1650 y(to)e(patc)n(h)f(missing)g
-(pieces.)g(While)h(erasure)e(co)r(des)h(could)h(b)r(e)g(used)f
-(together)g(with)h(ECRS,)523 1750 y(they)i(w)n(ould)e(con\015ict)i
-(with)g(the)f(p)r(erformance)g(b)r(ene\014ts)h(of)f(on-demand)g(enco)r
-(ding.)g(Con-)523 1849 y(sequen)n(tly)-7 b(,)23 b(the)g(primary)f(mec)n
-(hanism)g(to)h(guard)f(against)g(the)h(loss)g(of)g(\014les)g(enco)r
-(ded)f(with)523 1949 y(ECRS)31 b(should)f(b)r(e)i(data)e(replication.)g
-(Since)h(ECRS)g(splits)g(\014les)g(in)n(to)g(blo)r(c)n(ks)f(it)h
-(should)523 2049 y(b)r(e)k(p)r(ossible)f(for)f(the)i(net)n(w)n(ork)e
-(to)h(duplicate)g(blo)r(c)n(ks)g(at)g(a)g(negligible)f(cost)h(p)r(er)g
-(blo)r(c)n(k.)523 2148 y(Duplicating)27 b(a)f(complete)h(\014le)g(of)f
-(sev)n(eral)f(gigab)n(ytes)g(w)n(ould)i(b)r(e)g(m)n(uc)n(h)f(more)g
-(costly)g(and)523 2248 y(more)e(lik)n(ely)h(to)g(fail.)g(F)-7
-b(or)24 b(large)g(\014les,)h(it)h(ma)n(y)e(b)r(e)h(di\016cult)h(for)f
-(a)g(p)r(eer)f(to)h(\014nd)h(individual)523 2348 y(hosts)c(that)h(are)e
-(willing)h(\(or)g(able\))g(to)h(pro)n(vide)e(enough)h(space)f(to)i
-(replicate)e(the)i(complete)523 2447 y(\014le)30 b(in)g(its)g(en)n
-(tiret)n(y)-7 b(.)30 b(Also,)f(the)i(tra\016c)e(burst)h(that)g(a)g
-(large)e(transfer)h(w)n(ould)g(imp)r(ose)h(on)523 2547
-y(the)35 b(net)n(w)n(ork)d(migh)n(t)i(k)n(eep)g(the)h(participating)e
-(no)r(des)h(busy)g(for)g(to)r(o)g(long.)f(Blo)r(c)n(ks,)g(on)523
-2646 y(the)c(other)f(hand,)g(can)g(migrate)g(quic)n(kly)g(from)g(host)g
-(to)g(host.)h(Storing)e(a)i(large)e(\014le)h(on)g(a)523
-2746 y(single)f(host)g(also)g(fails)g(to)h(facilitate)f(distribution)h
-(of)g(load)f(for)g(do)n(wnloading)f(purp)r(oses.)523
-2937 y
+ 833 2605
+a Black Fz(])g(to)g(patc)n(h)f(missing)h(pieces.)g(While)g(erasure)f
+(co)r(des)g(could)0 2705 y(b)r(e)40 b(used)g(together)f(with)h(ECRS,)g
+(they)g(w)n(ould)f(con\015ict)h(with)g(the)g(p)r(erformance)0
+2804 y(b)r(ene\014ts)31 b(of)f(on-demand)g(enco)r(ding.)g(Consequen)n
+(tly)-7 b(,)29 b(the)i(primary)e(mec)n(hanism)h(to)0
+2904 y(guard)18 b(against)g(the)i(loss)e(of)h(\014les)g(enco)r(ded)g
+(with)h(ECRS)f(should)g(b)r(e)g(data)g(replication.)0
+3004 y(Since)29 b(ECRS)f(splits)g(\014les)h(in)n(to)f(blo)r(c)n(ks)f
+(it)i(should)f(b)r(e)h(p)r(ossible)f(for)g(the)h(net)n(w)n(ork)e(to)0
+3103 y(duplicate)j(blo)r(c)n(ks)g(at)g(a)f(negligible)h(cost)g(p)r(er)g
+(blo)r(c)n(k.)f(Duplicating)i(a)f(complete)g(\014le)0
+3203 y(of)c(sev)n(eral)f(gigab)n(ytes)g(w)n(ould)h(b)r(e)h(m)n(uc)n(h)f
+(more)g(costly)g(and)g(more)g(lik)n(ely)g(to)g(fail.)h(F)-7
+b(or)0 3302 y(large)33 b(\014les,)i(it)h(ma)n(y)e(b)r(e)h(di\016cult)h
+(for)e(a)h(p)r(eer)f(to)h(\014nd)g(individual)g(hosts)g(that)g(are)0
+3402 y(willing)e(\(or)g(able\))g(to)g(pro)n(vide)f(enough)g(space)g(to)
+h(replicate)g(the)g(complete)g(\014le)h(in)0 3502 y(its)24
+b(en)n(tiret)n(y)-7 b(.)24 b(Also,)f(the)i(tra\016c)e(burst)h(that)g(a)
+g(large)e(transfer)h(w)n(ould)h(imp)r(ose)g(on)g(the)0
+3601 y(net)n(w)n(ork)31 b(migh)n(t)i(k)n(eep)f(the)h(participating)e
+(no)r(des)i(busy)f(for)g(to)r(o)h(long.)f(Blo)r(c)n(ks,)f(on)0
+3701 y(the)f(other)g(hand,)g(can)f(migrate)g(quic)n(kly)h(from)f(host)h
+(to)g(host.)f(Storing)h(a)f(large)g(\014le)0 3801 y(on)g(a)h(single)f
+(host)g(also)g(fails)h(to)f(facilitate)h(distribution)g(of)f(load)g
+(for)h(do)n(wnloading)0 3900 y(purp)r(oses.)0 4095 y
 SDict begin H.S end
- 523 2937 a 523 2937 a
+
+0 4095 a 0 4095 a
 SDict begin 12 H.A end
- 523 2937 a 523 2937 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.5.1) cvn H.B /DEST
+ 0 4095 a 0 4095 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.1) cvn H.B /DEST
 pdfmark end
- 523
-2937 a 90 x Fs(5.1)95 b(A)m(ttac)m(ks)523 3224 y FB(ECRS)34
-b(is)f(op)r(en)h(to)g(t)n(w)n(o)f(t)n(yp)r(es)h(of)f(attac)n(ks)g(from)
-h(censors.)e(The)i(most)f(ob)n(vious)g(attac)n(k)523
-3324 y(is)40 b(to)g(guess)f(k)n(eyw)n(ords)f(and)i(use)g(those)f(to)h
-(compute)g(queries)f(for)h(sp)r(eci\014c)g Fu(KBlo)l(ck)p
-FB(s.)523 3424 y(The)28 b(adv)n(ersary)c(can)j(then)h(try)f(to)h
-(censor)e(these)h(queries.)g(Since)h(the)f(same)g(con)n(ten)n(t)g(can)
-523 3523 y(b)r(e)36 b(a)n(v)-5 b(ailable)33 b(under)i(man)n(y)g(k)n
-(eyw)n(ords,)e(this)j(tec)n(hnique)f(is)g(not)g(necessary)e
-(successful.)523 3623 y(Ho)n(w)n(ev)n(er,)25 b(this)i(guessing)f(attac)
-n(k)f(do)r(es)i(pro)n(vide)f(the)h(opp)r(ortunit)n(y)f(for)g(limited)i
-(forms)e(of)523 3723 y(censorship.)g(An)h(adv)n(ersary)c(could)k
-(create)e(a)i(\\blac)n(klist")e(of)h(k)n(eyw)n(ords)e(and)j(attempt)g
-(to)523 3822 y(legally)g(force)g(op)r(erators)e(to)j(\014lter)f(matc)n
-(hing)g(queries)g(or)g(replies.)648 3928 y(Instead)e(of)h(predicting)g
-(k)n(eyw)n(ords,)e(the)i(attac)n(k)n(er)e(can)i(also)f(try)h(to)f
-(obtain)h(the)h(exact)523 4028 y(con)n(ten)n(ts)37 b(of)h(the)g(\014le)
-g(\(or)f(at)h(least)g(the)g(exact)f(con)n(ten)n(ts)g(of)h(an)g
-(incriminating)f(part\).)523 4127 y(This)d(ma)n(yb)r(e)f(ac)n(hiev)n
-(ed)g(b)n(y)g(searc)n(hing)f(the)i(net)n(w)n(ork)f(for)g(certain)g(k)n
-(eyw)n(ords)f(and)h(then)523 4227 y(do)n(wnloading)21
-b(the)j(resulting)e(con)n(ten)n(t.)h(This)g(w)n(a)n(y)f(the)h(attac)n
-(k)n(er)e(can)i(again)f(compute)h(the)523 4327 y(query)28
-b(hash)h(for)f(the)i Fu(DBlo)l(ck)p FB(s)g(and)e Fu(IBlo)l(ck)p
-FB(s)j(and)d(also)g(obtain)h(the)g(encrypted)g Fu(DBlo)l(ck)p
-FB(s)523 4426 y(and)h Fu(IBlo)l(ck)p FB(s)h(themselv)n(es.)f(Again,)f
-(the)i(adv)n(ersary)c(can)j(then)g(try)g(to)g(censor)f(this)h(data.)523
-4526 y(Note)25 b(that)g(this)h(attac)n(k)e(requires)g(the)h(adv)n
-(ersary)d(to)j(obtain)g(a)g(cop)n(y)f(of)h(the)h(con)n(ten)n(t)e(and)
-523 4625 y(then)g(exercise)f(a)g(certain)g(amoun)n(t)g(of)h(con)n(trol)
-e(o)n(v)n(er)g(the)i(p)r(eers)f(in)h(the)g(net)n(w)n(ork.)e(As)i(users)
-523 4725 y(m)n(ust)e(ha)n(v)n(e)f(a)h(w)n(a)n(y)f(to)h(decrypt)g(the)g
-(\014le)g(solely)g(b)n(y)f(means)h(of)g(guessing)f(the)h(k)n(eyw)n
-(ord,)f(this)523 4825 y(attac)n(k)j(cannot)g(b)r(e)i(a)n(v)n(oided.)d
-(A)i(fault-toleran)n(t)f(p)r(eer-to-p)r(eer)g(routing)g(proto)r(col)f
-(ma)n(y)i(b)r(e)523 4924 y(able)i(to)h(route)f(the)h(con)n(ten)n(t)f
-(around)g(the)h(censoring)e(p)r(eers.)p Black Black eop
-end
-%%Page: 18 18
-TeXDict begin 18 17 bop 0 0 a
+ 0 4095 a 84 x Fs(5.1)f(A)n(ttacks)0
+4364 y Fz(ECRS)21 b(is)g(op)r(en)g(to)f(t)n(w)n(o)h(t)n(yp)r(es)g(of)f
+(attac)n(ks)g(from)h(censors.)e(The)i(most)g(ob)n(vious)f(attac)n(k)0
+4464 y(is)26 b(to)g(guess)f(k)n(eyw)n(ords)f(and)i(use)g(those)g(to)g
+(compute)g(queries)f(for)h(sp)r(eci\014c)g Fs(KBlo)l(ck)p
+Fz(s.)0 4563 y(The)36 b(adv)n(ersary)d(can)i(then)i(try)e(to)h(censor)e
+(these)i(queries.)f(Since)h(the)g(same)g(con-)0 4663
+y(ten)n(t)26 b(can)g(b)r(e)h(a)n(v)-5 b(ailable)25 b(under)h(man)n(y)f
+(k)n(eyw)n(ords,)f(this)i(tec)n(hnique)h(is)f(not)g(necessary)0
+4762 y(successful.)31 b(Ho)n(w)n(ev)n(er,)d(this)j(guessing)f(attac)n
+(k)g(do)r(es)g(pro)n(vide)g(the)h(opp)r(ortunit)n(y)f(for)p
+Black Black eop end
+%%Page: 19 19
+TeXDict begin 19 18 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.18) cvn H.B /DEST pdfmark
+ 0
+17 a 0 17 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.19) cvn H.B /DEST pdfmark
 end
- 523 232 a Black Fy(18)199 b(C.)27
-b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
-Black 648 448 a FB(If)39 b(suc)n(h)f(an)g(activ)n(e)g(censorship)f
-(attac)n(k)h(is)g(kno)n(wn)g(to)g(o)r(ccur)g(on)g(a)h(large)e(scale,)g
-(a)523 548 y(p)r(ossible)26 b(defense)g(w)n(ould)g(b)r(e)h(to)f
-(publish)h(the)g(con)n(ten)n(t)e(with)i(sligh)n(t)f(alterations)f(for)h
-(eac)n(h)523 648 y(k)n(eyw)n(ord.)20 b(A)h(single)g(space)g(inserted)g
-(at)g(the)h(b)r(eginning)f(of)g(a)g(text-do)r(cumen)n(t)h(is)f
-(su\016cien)n(t)523 747 y(to)34 b(c)n(hange)g Fu(al)t(l)h
-FB(blo)r(c)n(ks)f(of)g(the)h(ECRS)f(enco)r(ding.)p 1 0 0
-TeXcolorrgb 2148 747 a
+ 0 17 a Black Fv(An)25 b(Enco)r(ding)h(for)h
+(Censorship-Resistan)n(t)f(Sharing)1068 b(19)p Black
+0 248 a Fz(limited)27 b(forms)e(of)h(censorship.)e(An)j(adv)n(ersary)c
+(could)i(create)g(a)h(\\blac)n(klist")e(of)i(k)n(ey-)0
+348 y(w)n(ords)31 b(and)h(attempt)h(to)f(legally)f(force)g(op)r
+(erators)g(to)h(\014lter)g(matc)n(hing)f(queries)h(or)0
+448 y(replies.)125 548 y(Instead)e(of)g(predicting)h(k)n(eyw)n(ords,)d
+(the)j(attac)n(k)n(er)e(can)h(also)g(try)g(to)g(obtain)h(the)0
+647 y(exact)26 b(con)n(ten)n(ts)f(of)i(the)f(\014le)h(\(or)e(at)h
+(least)g(the)h(exact)f(con)n(ten)n(ts)f(of)h(an)g(incriminating)0
+747 y(part\).)j(This)g(ma)n(yb)r(e)g(ac)n(hiev)n(ed)f(b)n(y)h(searc)n
+(hing)e(the)j(net)n(w)n(ork)e(for)g(certain)h(k)n(eyw)n(ords)0
+847 y(and)41 b(then)g(do)n(wnloading)e(the)j(resulting)e(con)n(ten)n
+(t.)g(This)h(w)n(a)n(y)f(the)h(attac)n(k)n(er)e(can)0
+946 y(again)26 b(compute)h(the)h(query)e(hash)h(for)g(the)g
+Fs(DBlo)l(ck)p Fz(s)h(and)f Fs(IBlo)l(ck)p Fz(s)h(and)f(also)f(obtain)0
+1046 y(the)36 b(encrypted)f Fs(DBlo)l(ck)p Fz(s)i(and)e
+Fs(IBlo)l(ck)p Fz(s)i(themselv)n(es.)e(Again,)g(the)h(adv)n(ersary)d
+(can)0 1145 y(then)25 b(try)f(to)g(censor)f(this)i(data.)f(Note)g(that)
+h(this)f(attac)n(k)g(requires)f(the)h(adv)n(ersary)e(to)0
+1245 y(obtain)28 b(a)g(cop)n(y)f(of)h(the)h(con)n(ten)n(t)f(and)g(then)
+h(exercise)e(a)h(certain)f(amoun)n(t)h(of)g(con)n(trol)0
+1345 y(o)n(v)n(er)d(the)h(p)r(eers)g(in)h(the)f(net)n(w)n(ork.)f(As)i
+(users)e(m)n(ust)i(ha)n(v)n(e)e(a)h(w)n(a)n(y)f(to)h(decrypt)g(the)h
+(\014le)0 1444 y(solely)h(b)n(y)g(means)g(of)h(guessing)e(the)i(k)n
+(eyw)n(ord,)e(this)i(attac)n(k)e(cannot)h(b)r(e)h(a)n(v)n(oided.)f(A)0
+1544 y(fault-toleran)n(t)19 b(p)r(eer-to-p)r(eer)g(routing)h(proto)r
+(col)f(ma)n(y)h(b)r(e)h(able)f(to)g(route)g(the)g(con)n(ten)n(t)0
+1644 y(around)27 b(the)h(censoring)e(p)r(eers.)125 1744
+y(If)h(suc)n(h)f(an)g(activ)n(e)g(censorship)f(attac)n(k)h(is)h(kno)n
+(wn)e(to)i(o)r(ccur)f(on)g(a)g(large)f(scale,)h(a)0 1843
+y(p)r(ossible)i(defense)g(w)n(ould)f(b)r(e)i(to)e(publish)i(the)f(con)n
+(ten)n(t)g(with)g(sligh)n(t)g(alterations)e(for)0 1943
+y(eac)n(h)h(k)n(eyw)n(ord.)f(A)i(single)g(space)f(inserted)h(at)f(the)i
+(b)r(eginning)e(of)h(a)g(text-do)r(cumen)n(t)0 2043 y(is)h(su\016cien)n
+(t)h(to)f(c)n(hange)f Fs(al)t(l)j Fz(blo)r(c)n(ks)e(of)g(the)h(ECRS)f
+(enco)r(ding.)p 1 0 0 TeXcolorrgb 2026 2043 a
 SDict begin H.S end
- 2148 747 a -30 x FA(3)2185 747
-y
+ 2026 2043
+a -31 x Fx(3)2063 2043 y
 SDict begin 12 H.L end
- 2185 747 a 2185 747 a
+ 2063 2043 a 2063 2043 a
 SDict begin [ /Subtype /Link /Dest (Hfootnote.3) cvn /H /I /Border
 [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 2185 747 a Black 34 w FB(While)h(this)g(w)n
-(ould)f(defeat)g(the)h(use)523 847 y(of)26 b(con)n(v)n(ergen)n(t)e
-(encryption)i(and)g(increase)f(the)h(storage)e(and)i(bandwidth)h
-(requiremen)n(ts,)523 946 y(this)20 b(w)n(ould)f(mak)n(e)f(it)i
-(infeasible)f(for)g(the)h(censor)e(to)i(e\013ectiv)n(ely)f(censor)f
-(all)h(of)g(the)h(v)-5 b(arian)n(ts.)523 1046 y(Since)33
-b(suc)n(h)f(a)g(p)r(o)n(w)n(erful)g(activ)n(e)g(attac)n(k)n(er)f(is)h
-(lik)n(ely)g(to)h(b)r(e)g(uncommon,)f(the)h Fu(default)h
-FB(in)523 1146 y(ECRS)27 b(is)h(to)f(use)h(con)n(v)n(ergen)n(t)d
-(encryption.)648 1248 y(Both)33 b(attac)n(ks)f(fail)i(to)f(enable)h(in)
-n(termediaries)e(to)h(exercise)g(editorial)g(con)n(trol)f(o)n(v)n(er)
-523 1347 y(con)n(ten)n(t)25 b(in)g(general.)f(While)i(p)r(eers)f(can)g
-(theoretically)f(b)r(e)i(forced)e(to)h(censor)f(w)n(ell-kno)n(wn)523
-1447 y(k)n(eyw)n(ords)d(and)h(\014les,)h(they)g(are)f(unable)h(to)g
-(censor)e(new)i(k)n(eyw)n(ords)e(or)h(unkno)n(wn)g(con)n(ten)n(t.)523
-1547 y(As)38 b(small)g(c)n(hanges)f(to)h(the)h(con)n(ten)n(t)f(or)f(k)n
-(eyw)n(ord)g(are)g(su\016cien)n(t)h(to)g(mak)n(e)g(detection)523
-1646 y(imp)r(ossible,)28 b(these)f(t)n(yp)r(es)h(of)f(censorship)g
-(should)g(b)r(e)h(impractical.)648 1748 y(Another)j(serious)f(t)n(yp)r
-(e)i(of)g(attac)n(k)f(is)g(spamming)g(the)h(global)f(k)n(eyw)n(ord)f
-(space)g(with)523 1848 y(useless)i(con)n(ten)n(t.)g(P)n(opular)f(k)n
-(eyw)n(ords)g(are)g(an)i(easy)e(target)h(since)h(they)f(are)g(b)n(y)g
-(nature)523 1948 y(easily)k(guessed.)h(Namespaces)f(can)g
-(theoretically)h(eliminate)g(this)g(problem,)g(ho)n(w)n(ev)n(er)523
-2047 y(they)28 b(create)e(a)h(new)g(di\016cult)n(y)h(in)f(assessing)f
-(whic)n(h)h(pseudon)n(yms)f(represen)n(t)g(users)h(that)523
-2147 y(pro)n(vide)20 b(v)-5 b(aluable)20 b(con)n(ten)n(t.)h(A)g(secure)
-f(reputation)g(system,)h(lik)n(e)f(Adv)n(ogato)f([)p
-0 1 0 TeXcolorrgb 2996 2147 a
+ 2063
+2043 a Black 30 w Fz(While)h(this)f(w)n(ould)0 2142 y(defeat)d(the)h
+(use)f(of)g(con)n(v)n(ergen)n(t)e(encryption)i(and)g(increase)e(the)j
+(storage)d(and)i(band-)0 2242 y(width)20 b(requiremen)n(ts,)e(this)i(w)
+n(ould)f(mak)n(e)g(it)h(infeasible)f(for)g(the)h(censor)e(to)h
+(e\013ectiv)n(ely)0 2341 y(censor)28 b(all)h(of)h(the)f(v)-5
+b(arian)n(ts.)28 b(Since)i(suc)n(h)f(a)g(p)r(o)n(w)n(erful)g(activ)n(e)
+f(attac)n(k)n(er)g(is)h(lik)n(ely)g(to)0 2441 y(b)r(e)f(uncommon,)f
+(the)h Fs(default)h Fz(in)f(ECRS)f(is)h(to)f(use)h(con)n(v)n(ergen)n(t)
+d(encryption.)125 2541 y(Both)35 b(attac)n(ks)f(fail)i(to)f(enable)g
+(in)n(termediaries)f(to)h(exercise)g(editorial)f(con)n(trol)0
+2641 y(o)n(v)n(er)d(con)n(ten)n(t)i(in)g(general.)f(While)i(p)r(eers)e
+(can)h(theoretically)f(b)r(e)i(forced)e(to)h(censor)0
+2740 y(w)n(ell-kno)n(wn)28 b(k)n(eyw)n(ords)f(and)i(\014les,)g(they)h
+(are)e(unable)h(to)g(censor)f(new)i(k)n(eyw)n(ords)d(or)0
+2840 y(unkno)n(wn)d(con)n(ten)n(t.)g(As)h(small)f(c)n(hanges)f(to)h
+(the)h(con)n(ten)n(t)f(or)g(k)n(eyw)n(ord)e(are)i(su\016cien)n(t)0
+2940 y(to)30 b(mak)n(e)g(detection)g(imp)r(ossible,)g(these)h(t)n(yp)r
+(es)f(of)g(censorship)f(should)h(b)r(e)h(imprac-)0 3039
+y(tical.)125 3139 y(Another)j(serious)f(t)n(yp)r(e)h(of)g(attac)n(k)g
+(is)g(spamming)g(the)g(global)f(k)n(eyw)n(ord)g(space)0
+3239 y(with)25 b(useless)g(con)n(ten)n(t.)f(P)n(opular)f(k)n(eyw)n
+(ords)g(are)h(an)h(easy)e(target)h(since)h(they)g(are)f(b)n(y)0
+3339 y(nature)f(easily)f(guessed.)g(Namespaces)h(can)f(theoretically)h
+(eliminate)g(this)g(problem,)0 3438 y(ho)n(w)n(ev)n(er)k(they)j(create)
+e(a)h(new)h(di\016cult)n(y)f(in)h(assessing)d(whic)n(h)j(pseudon)n(yms)
+e(repre-)0 3538 y(sen)n(t)k(users)f(that)i(pro)n(vide)e(v)-5
+b(aluable)31 b(con)n(ten)n(t.)h(A)g(secure)g(reputation)f(system,)h
+(lik)n(e)0 3638 y(Adv)n(ogato)i([)p 0 1 0 TeXcolorrgb
+407 3638 a
 SDict begin H.S end
- 2996 2147 a 0 1 0 TeXcolorrgb
-FB(17)p 0 1 0 TeXcolorrgb 3079 2093 a
+ 407 3638 a 0 1 0 TeXcolorrgb Fz(17)p 0 1 0
+TeXcolorrgb 490 3584 a
 SDict begin H.R end
- 3079 2093 a 3079
-2147 a
+ 490 3584 a 490 3638 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.levien03advogato) cvn H.B /ANN pdfmark end
- 3079 2147 a Black FB(],)i(ma)n(y)g(b)r(e)523 2247
-y(a)k(step)h(to)n(w)n(ards)e(a)i(tec)n(hnical)f(solution)h(for)f(this)h
-(problem.)g(A)g(p)r(ossibly)f(more)g(imp)r(ortan)n(t)523
-2346 y(c)n(hallenge)i(for)h(future)h(w)n(ork)e(is)h(making)g(suc)n(h)g
-(complex)g(solutions)g(easily)f(accessible)h(for)523
-2446 y(the)g(a)n(v)n(erage)d(user.)523 2621 y
+ 490 3638
+a Black Fz(],)i(ma)n(y)f(b)r(e)h(a)f(step)h(to)n(w)n(ards)e(a)h(tec)n
+(hnical)h(solution)f(for)g(this)h(prob-)0 3737 y(lem.)d(A)g(p)r
+(ossibly)f(more)g(imp)r(ortan)n(t)g(c)n(hallenge)g(for)g(future)h(w)n
+(ork)e(is)h(making)g(suc)n(h)0 3837 y(complex)27 b(solutions)g(easily)g
+(accessible)f(for)h(the)h(a)n(v)n(erage)d(user.)0 4042
+y
 SDict begin H.S end
- 523 2621
-a 523 2621 a
+ 0 4042 a 0 4042 a
 SDict begin 12 H.A end
- 523 2621 a 523 2621 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.5.2) cvn H.B /DEST
+ 0 4042 a 0 4042 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.2) cvn H.B /DEST
 pdfmark end
- 523 2621 a 86 x Fs(5.2)95
-b Fk(KBlo)-5 b(cks)32 b Fs(or)g(triple-hash)523 2886
-y FB(The)c(triple-hash)f(that)h(w)n(as)f(used)g(instead)h(of)g
-Fu(KBlo)l(ck)p FB(s)g(in)g(our)f(earlier)g(w)n(ork)54
-b([)p 0 1 0 TeXcolorrgb 3093 2886 a
+ 0 4042 a 84 x Fs(5.2)k
+Fz(KBlo)r(c)n(ks)f Fs(or)i(triple-hash)0 4321 y Fz(The)k(triple-hash)f
+(that)h(w)n(as)f(used)h(instead)g(of)g Fs(KBlo)l(ck)p
+Fz(s)h(in)f(our)f(earlier)g(w)n(ork)66 b([)p 0 1 0 TeXcolorrgb
+2650 4321 a
 SDict begin H.S end
- 3093 2886 a 0 1 0
-TeXcolorrgb FB(2)p 0 1 0 TeXcolorrgb 3134 2833 a
+ 2650 4321 a 0 1 0 TeXcolorrgb Fz(2)p 0 1 0
+TeXcolorrgb 2692 4267 a
 SDict begin H.R end
- 3134
-2833 a 3134 2886 a
+ 2692 4267 a 2692 4321 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.esed) cvn H.B /ANN pdfmark end
- 3134 2886 a Black FB(])28 b(allo)n(ws)523
-2986 y(for)19 b(an)g(attac)n(k)g(b)n(y)g(an)g(activ)n(e,)g
-(participating)g(adv)n(ersary)-7 b(.)17 b(The)i(follo)n(wing)f
-(paragraphs)f(\014rst)523 3085 y(brie\015y)28 b(presen)n(t)g(the)h
-(original)e(sc)n(heme)h(and)h(discuss)f(the)h(attac)n(k,)f(and)g(then)h
-(compare)f(it)523 3185 y(with)g(the)g Fu(KBlo)l(ck)h
-FB(approac)n(h)d(tak)n(en)h(in)g(this)h(pap)r(er.)648
-3287 y(Let)35 b(an)g Fu(RBlo)l(ck)h FB(b)r(e)g(a)e(new)i(kind)f(of)g
-(blo)r(c)n(k)g(that)g(also)g(con)n(tains)f(the)h(metadata)g(of)523
-3387 y(a)c(\014le)g(\(including)h(the)g(top)f(CHK)g(data\).)g(The)g
-(only)g(di\013erence)g(b)r(et)n(w)n(een)g Fu(RBlo)l(ck)p
-FB(s)h(and)523 3486 y Fu(KBlo)l(ck)p FB(s)c(is)f(that)h
-Fu(RBlo)l(ck)p FB(s)f(are)f(encrypted)h(and)g(requested)g(using)g(the)g
-(follo)n(wing)f(triple-)523 3586 y(hash)35 b(sc)n(heme.)f(F)-7
-b(or)35 b(eac)n(h)f(k)n(eyw)n(ord)g Ft(k)s FB(,)h(the)g
-Fu(RBlo)l(ck)h Ft(R)g FB(is)f(encrypted)g(with)h Ft(H)7
-b FB(\()p Ft(k)s FB(\))35 b(and)523 3686 y(stored)f(as)f(the)i(pair)f
-Fb(f)p Ft(H)7 b FB(\()p Ft(H)g FB(\()p Ft(k)s FB(\)\))p
-Ft(;)14 b(E)1682 3701 y Fj(H)t FA(\()p Fj(k)q FA(\))1834
-3686 y FB(\()p Ft(R)q FB(\))p Fb(g)p FB(.)34 b(Using)g(the)h(k)n(eyw)n
-(ord)e(as)g(the)i(source)f(for)523 3785 y(the)28 b(k)n(ey)f(allo)n(ws)f
-(the)i(receiv)n(er)e(of)i(the)g(\014le)f(to)h(obtain)f(the)h(k)n(ey)f
-(b)n(y)g(guessing.)648 3887 y(Querying)39 b(for)h(an)g
-Fu(RBlo)l(ck)h FB(is)f Fs(not)h FB(straigh)n(tforw)n(ard.)c(The)k
-(problem)f(is)g(that)h(the)523 3987 y(in)n(tuitiv)n(e)32
-b(c)n(hoice)f(for)h(a)g(query)f(hash,)h Ft(H)7 b FB(\()p
-Ft(H)g FB(\()p Ft(k)s FB(\)\))32 b(do)r(es)g(not)g(giv)n(e)f(in)n
-(termediaries)g(a)g(w)n(a)n(y)523 4087 y(to)24 b(v)n(erify)g(that)g
-(the)h(\(encrypted\))f(resp)r(onse)g(is)g(correct.)f(Instead)h(of)g
-(using)g Ft(H)7 b FB(\()p Ft(H)g FB(\()p Ft(k)s FB(\)\),)25
-b(the)523 4186 y(initiator)31 b(sends)g(the)g(so-called)f
-(\\triple-hash")g(query)g Ft(H)7 b FB(\()p Ft(H)g FB(\()p
-Ft(H)g FB(\()p Ft(k)s FB(\)\)\).)32 b(A)g(p)r(eer)f(that)h(has)523
-4286 y(stored)g Ft(E)839 4301 y Fj(H)t FA(\()p Fj(k)q
-FA(\))991 4286 y FB(\()p Ft(R)q FB(\))i(under)f Ft(H)7
-b FB(\()p Ft(H)g FB(\()p Ft(k)s FB(\)\))34 b(can)f(matc)n(h)g(the)g
-(query)g(hash)g(with)g(the)h(resp)r(onse)523 4385 y(and)39
-b(send)g(bac)n(k)g(the)g(pair)g Fb(f)p Ft(H)7 b FB(\()p
-Ft(H)g FB(\()p Ft(k)s FB(\)\))p Ft(;)14 b(E)1906 4400
-y Fj(H)t FA(\()p Fj(k)q FA(\))2057 4385 y FB(\()p Ft(R)q
-FB(\))p Fb(g)p FB(.)40 b(In)n(termediaries)d(can)i(v)n(erify)g(that)523
-4485 y(the)25 b(pro)r(of)f(of)g(authen)n(ticit)n(y)-7
-b(,)25 b Ft(H)7 b FB(\()p Ft(H)g FB(\()p Ft(k)s FB(\)\),)25
-b(hashes)f(to)h(the)g(query)e Ft(H)7 b FB(\()p Ft(H)g
-FB(\()p Ft(H)g FB(\()p Ft(k)s FB(\)\)\).)26 b(Malicious)523
-4585 y(p)r(eers)31 b(cannot)f(construct)h(the)h(pro)r(of)e
-Ft(H)7 b FB(\()p Ft(H)g FB(\()p Ft(k)s FB(\)\))32 b(without)f(guessing)
-f Ft(k)k FB(or)d(in)n(v)n(erting)f(the)523 4684 y(hash)d(function.)p
-Black 523 4748 473 4 v 546 4801 a Fz(3)p 0 TeXcolorgray
-606 4742 a
+ 2692
+4321 a Black Fz(])0 4421 y(allo)n(ws)36 b(for)h(an)g(attac)n(k)f(b)n(y)
+h(an)h(activ)n(e,)e(participating)h(adv)n(ersary)-7 b(.)35
+b(The)i(follo)n(wing)p Black 0 4492 1086 4 v 52 4548
+a Fw(3)p 0 TeXcolorgray 125 4489 a
 SDict begin H.S end
- 606 4742 a 0 TeXcolorgray 0 TeXcolorgray 606
-4742 a
+ 125 4489 a 0 TeXcolorgray
+0 TeXcolorgray 125 4489 a
 SDict begin H.R end
- 606 4742 a 606 4742 a
+ 125 4489 a 125 4489 a
 SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.3) cvn H.B /DEST pdfmark
 end
- 606 4742 a Black 91 x Fy(Note)g(that)f
-(only)g(op)r(erations)i(causing)g(global)g(shifts)f(in)g(the)f(data)h
-(ha)n(v)n(e)f(this)h(prop)r(ert)n(y)-6 b(.)25 b(One)606
-4924 y(single-c)n(haracter)d(replacemen)n(t)g(c)n(hanges)f(only)g(one)g
-(ro)r(ot-to-leaf)i(path)d(in)h(the)g(enco)r(ding)g(tree.)p
-Black Black Black eop end
-%%Page: 19 19
-TeXDict begin 19 18 bop 0 0 a
+ 125 4489
+a Black 91 x Fv(Note)c(that)f(only)h(op)r(erations)i(causing)f(global)g
+(shifts)g(in)g(the)e(data)i(ha)n(v)n(e)e(this)h(prop-)0
+4671 y(ert)n(y)-6 b(.)28 b(One)g(single-c)n(haracter)j(replacemen)n(t)e
+(c)n(hanges)g(only)g(one)g(ro)r(ot-to-leaf)h(path)e(in)h(the)0
+4762 y(enco)r(ding)d(tree.)p Black Black Black eop end
+%%Page: 20 20
+TeXDict begin 20 19 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.19) cvn H.B /DEST pdfmark
+ 0
+17 a 0 17 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.20) cvn H.B /DEST pdfmark
 end
- 523 232 a Black 1036 w Fy(An)25
-b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
-b(19)p Black 648 448 a FB(The)41 b(problem)g(with)h(the)f(triple-hash)g
-(is)g(that)h(an)f(adv)n(ersary)d(that)k(is)f(routing)f(a)523
-548 y(resp)r(onse)35 b(to)h(a)g(triple-hash)f(request)h(can)g
-(substitute)h(the)f(encrypted)g(con)n(ten)n(t)g(in)h(the)523
-648 y Fb(f)p Ft(H)7 b FB(\()p Ft(H)g FB(\()p Ft(k)s FB(\)\))p
-Ft(;)14 b(E)989 663 y Fj(H)t FA(\()p Fj(k)q FA(\))1141
-648 y FB(\()p Ft(C)6 b(H)h(K)q(;)14 b(siz)t(e)p FB(\))p
-Fb(g)26 b FB(resp)r(onse)h(while)h(main)n(taining)g(the)g
-Ft(H)7 b FB(\()p Ft(H)g FB(\()p Ft(k)s FB(\)\))29 b(tok)n(en.)523
-747 y(The)g(resulting)f(reply)g Fb(f)p Ft(H)7 b FB(\()p
-Ft(H)g FB(\()p Ft(k)s FB(\)\))p Ft(;)14 b(X)7 b Fb(g)27
-b FB(still)i(lo)r(oks)e(lik)n(e)i(a)f(v)-5 b(alid)28
-b(resp)r(onse)g(to)g(the)h(triple-)523 847 y(hash)h(query)g
-Ft(H)7 b FB(\()p Ft(H)g FB(\()p Ft(H)g FB(\()p Ft(k)s
-FB(\)\)\).)32 b(The)f(triple-hash)f(th)n(us)g(do)r(es)h(not)f(protect)h
-(against)e(suc)n(h)h(a)523 946 y(substitution)22 b(attac)n(k)f(b)n(y)h
-(an)g(in)n(termediary)-7 b(.)20 b(The)i(impact)g(of)g(the)g(attac)n(k)f
-(is)h(suc)n(h)f(that)i(the)523 1046 y(net)n(w)n(ork)i(w)n(ould)h
-(propagate)e(and)i(p)r(ossibly)g(cac)n(he)f(the)i(in)n(v)-5
-b(alid)26 b(replies.)g(The)g(attac)n(k)g(will)523 1146
-y(not)i(prev)n(en)n(t)f(the)h(spread)f(of)h(v)-5 b(alid)28
-b(replies)f(through)h(other)f(routes)g(in)h(the)h(system)e(since)523
-1245 y(m)n(ultiple)e(results)f(to)g(the)g(same)g(query)f(are)h(p)r
-(ossible.)g(F)-7 b(urthermore,)23 b(an)n(y)g(user)h(searc)n(hing)523
-1345 y(for)i Ft(K)32 b FB(will)27 b(not)f(see)h(the)f(in)n(v)-5
-b(alid)27 b(results.)f(The)h(reason)e(is)h(that)h(the)g(attempt)g(to)f
-(decrypt)523 1445 y Ft(X)34 b FB(with)29 b Ft(H)7 b FB(\()p
-Ft(K)f FB(\))28 b(will)g(\(with)h(high)e(probabilit)n(y\))h(result)f
-(in)h(a)g(malformed)f Fu(RBlo)l(ck)p FB(.)i(Th)n(us,)523
-1544 y(the)21 b(end-user)f(is)h(still)g(protected)f(from)h(this)g(t)n
-(yp)r(e)g(of)f(spam.)h(Nev)n(ertheless,)f(the)h(adv)n(ersary)523
-1644 y(can)29 b(abuse)g(net)n(w)n(ork)f(resources)f(in)i(the)h(form)f
-(of)g(transmission)f(and)i(cac)n(hing)e(of)h(in)n(v)-5
-b(alid)523 1743 y(data.)648 1845 y(Replacing)26 b(the)h(triple-hash)g
-(with)g Fu(KBlo)l(ck)p FB(s)h(for)f(ECRS)f(comes)h(at)g(a)f(relativ)n
-(ely)g(high)523 1945 y(price.)40 b(Where)g(the)h(triple-hash)e(only)h
-(requires)f(a)g(simple)i(hash)f(op)r(eration)f(to)h(v)n(erify)523
-2044 y(replies,)22 b Fu(KBlo)l(ck)p FB(s)i(need)e(to)h(p)r(erform)f(a)g
-(public)i(k)n(ey)d(op)r(eration.)h(W)-7 b(orse,)22 b(when)h(publishing)
-523 2144 y(con)n(ten)n(t)f(or)f(searc)n(hing,)g(the)h(triple-hash)g(sc)
-n(heme)g(again)f(only)g(requires)g(a)h(few)h(quic)n(k)e(hash)523
-2244 y(op)r(erations)e(to)h(compute)h(the)g(query)e(or)h(the)g(con)n
-(ten)n(t.)g(With)i Fu(KBlo)l(ck)p FB(s,)f(the)g(cost)f(increases)523
-2343 y(to)30 b(additionally)g(generating)e(a)i(public-priv)-5
-b(ate)30 b(k)n(ey)f(pair)h(in)g(addition)g(to)g(a)g(public)h(k)n(ey)523
-2443 y(op)r(eration)c(and)g(hash)g(op)r(erations.)648
-2544 y(Both)42 b Fu(KBlo)l(cks)h FB(and)f(the)h(triple-hash)e(are)h
-(vulnerable)f(to)h(the)h(guessing)e(attac)n(k.)523 2644
-y(Guessing)d(is)h(sligh)n(tly)f(easier)f(for)h(the)h(triple-hash)f
-(since)g(the)h(computation)g(for)f(eac)n(h)523 2744 y(guess)21
-b(is)h(m)n(uc)n(h)f(c)n(heap)r(er.)g(Ov)n(erall,)f Fu(KBlo)l(cks)j
-FB(w)n(ork)e(b)r(etter)h(than)g(the)g(triple-hash)f(against)523
-2843 y(adv)n(ersaries)f(that)j(indiscriminately)g(attempt)h(to)e(abuse)
-h(net)n(w)n(ork)e(resources,)g(but)j(at)f(the)523 2943
-y(exp)r(ense)j(of)g(higher)f(CPU)g(utilization)h(ev)n(en)g(in)g(the)g
-(absence)f(of)h(an)g(attac)n(k.)f(Th)n(us,)g(using)523
-3043 y(the)36 b(triple-hash)e(sc)n(heme)g(ma)n(y)h(still)g(b)r(e)h
-(reasonable)d(in)i(net)n(w)n(orks)f(with)h(limited)h(CPU)523
-3142 y(p)r(o)n(w)n(er)26 b(or)h(less)g(stringen)n(t)g(securit)n(y)g
-(requiremen)n(ts.)523 3316 y
-SDict begin H.S end
- 523 3316 a 523 3316 a
-SDict begin 12 H.A end
- 523
-3316 a 523 3316 a
-SDict begin [ /View [/XYZ H.V] /Dest (section.1.6) cvn H.B /DEST pdfmark
-end
- 523 3316 a 102 x Fv(6)112 b(Conclusion)523
-3627 y FB(This)39 b(pap)r(er)f(has)h(describ)r(ed)g(an)f(enco)r(ding)h
-(sc)n(heme)f(whic)n(h)h(hides)g(shared)f(data)g(from)523
-3727 y(in)n(termediaries.)29 b(The)h(enco)r(ding)g(uses)g(con)n(v)n
-(ergen)n(t)e(encryption,)i(allo)n(ws)f(sw)n(arming)f(and)523
-3826 y(pro)r(duces)34 b(a)g(ciphertext)h(that)g(is)f(not)h
-(signi\014can)n(tly)f(larger)f(than)h(the)h(plain)n(text.)g(Indi-)523
-3926 y(vidual)26 b(blo)r(c)n(ks)e(of)i(the)g(ciphertext)g(can)f(b)r(e)h
-(generated)f(from)g(plain)n(text)h(without)g(reading)523
-4026 y(unrelated)38 b(parts)h(of)f(the)h(original.)f(While)h
-(dictionary)f(attac)n(ks)g(on)g(the)h(k)n(eyw)n(ords)e(or)523
-4125 y(kno)n(wn)24 b(plain)n(text)g(attac)n(ks)g(on)g(the)h(con)n(ten)n
-(t)f(are)g(still)h(p)r(ossible,)f(they)h(are)e(harmless)g(with)523
-4225 y(resp)r(ect)k(to)h(the)g(goal)e(of)i(deniabilit)n(y)g(for)f(in)n
-(termediaries.)f(The)i(basic)f(enco)r(ding)g(sc)n(heme)523
-4325 y(can)21 b(b)r(e)h(extended)g(with)g(directories)e(and)i
-(namespaces.)e(Namespaces)g(allo)n(w)h(for)g(\014les)g(and)523
-4424 y(directories)k(to)h(b)r(e)h(up)r(dated.)g(Using)f
-Ft(K)6 b FB(-deterministic)26 b(public-priv)-5 b(ate)26
-b(k)n(eys)f(for)h(signing)523 4524 y(con)n(ten)n(t)h(it)h(is)g(p)r
-(ossible)f(to)g(v)n(erify)g(searc)n(h)f(results)h(in)h(a)f(global)g(k)n
-(eyw)n(ord)f(space.)648 4625 y(ECRS)35 b(is)g(implemen)n(ted)h(as)f(a)g
-(part)g(of)h Fa(gnu)p FB(net,)g(a)f(secure)g(platform)g(for)g(p)r
-(eer-to-)523 4725 y(p)r(eer)i(net)n(w)n(orking.)f(In)i
-Fa(gnu)p FB(net,)g(ECRS)f(w)n(orks)f(to)n(w)n(ards)g(implemen)n(ting)i
-(anon)n(ymous,)523 4825 y(censorship-resistan)n(t)31
-b(\014le-sharing.)h Fa(gnu)p FB(net)i(is)g(free)f(soft)n(w)n(are)f(and)
-i(part)f(of)g(the)h(GNU)523 4924 y(pro)5 b(ject.)25 b(The)g
-Fa(gnu)p FB(net)h(co)r(de)f(is)h(appro)n(ximately)d(100,000)g(lines)i
-(of)h(C)f(co)r(de.)g(ECRS)h(itself)p Black Black eop
-end
-%%Page: 20 20
-TeXDict begin 20 19 bop 0 0 a
+ 0 17 a Black Fv(20)879 b(C.)27 b(Grotho\013,)f(K.)g
+(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
+0 248 a Fz(paragraphs)f(\014rst)i(brie\015y)g(presen)n(t)g(the)h
+(original)e(sc)n(heme)h(and)h(discuss)f(the)h(attac)n(k,)0
+348 y(and)e(then)i(compare)d(it)i(with)g(the)g Fs(KBlo)l(ck)h
+Fz(approac)n(h)c(tak)n(en)i(in)h(this)g(pap)r(er.)125
+454 y(Let)23 b(an)g Fs(RBlo)l(ck)h Fz(b)r(e)g(a)f(new)g(kind)h(of)f
+(blo)r(c)n(k)g(that)g(also)f(con)n(tains)h(the)g(metadata)g(of)0
+553 y(a)31 b(\014le)g(\(including)g(the)h(top)f(CHK)g(data\).)g(The)g
+(only)f(di\013erence)h(b)r(et)n(w)n(een)g Fs(RBlo)l(ck)p
+Fz(s)0 653 y(and)20 b Fs(KBlo)l(ck)p Fz(s)h(is)e(that)i
+Fs(RBlo)l(ck)p Fz(s)f(are)f(encrypted)h(and)g(requested)f(using)h(the)g
+(follo)n(wing)0 753 y(triple-hash)35 b(sc)n(heme.)f(F)-7
+b(or)35 b(eac)n(h)g(k)n(eyw)n(ord)e Fr(k)s Fz(,)i(the)h
+Fs(RBlo)l(ck)g Fr(R)g Fz(is)f(encrypted)g(with)0 852
+y Fr(H)7 b Fz(\()p Fr(k)s Fz(\))34 b(and)f(stored)f(as)h(the)h(pair)e
+Fb(f)p Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p Fr(k)s Fz(\)\))p
+Fr(;)14 b(E)1541 867 y Fj(H)t Fx(\()p Fj(k)q Fx(\))1693
+852 y Fz(\()p Fr(R)q Fz(\))p Fb(g)p Fz(.)33 b(Using)g(the)h(k)n(eyw)n
+(ord)e(as)0 952 y(the)i(source)e(for)i(the)g(k)n(ey)f(allo)n(ws)f(the)i
+(receiv)n(er)e(of)h(the)h(\014le)g(to)g(obtain)f(the)h(k)n(ey)f(b)n(y)0
+1052 y(guessing.)125 1157 y(Querying)38 b(for)g(an)h
+Fs(RBlo)l(ck)h Fz(is)g FA(not)f Fz(straigh)n(tforw)n(ard.)d(The)k
+(problem)e(is)i(that)0 1257 y(the)26 b(in)n(tuitiv)n(e)g(c)n(hoice)f
+(for)h(a)f(query)g(hash,)h Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p
+Fr(k)s Fz(\)\))26 b(do)r(es)f(not)h(giv)n(e)f(in)n(termediaries)0
+1357 y(a)33 b(w)n(a)n(y)g(to)h(v)n(erify)f(that)h(the)g(\(encrypted\))h
+(resp)r(onse)d(is)i(correct.)f(Instead)g(of)h(using)0
+1456 y Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p Fr(k)s Fz(\)\),)22
+b(the)g(initiator)e(sends)h(the)h(so-called)e(\\triple-hash")f(query)i
+Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p Fr(H)g Fz(\()p Fr(k)s
+Fz(\)\)\).)0 1556 y(A)25 b(p)r(eer)f(that)h(has)f(stored)f
+Fr(E)895 1571 y Fj(H)t Fx(\()p Fj(k)q Fx(\))1047 1556
+y Fz(\()p Fr(R)q Fz(\))i(under)f Fr(H)7 b Fz(\()p Fr(H)g
+Fz(\()p Fr(k)s Fz(\)\))25 b(can)f(matc)n(h)h(the)g(query)e(hash)0
+1655 y(with)i(the)g(resp)r(onse)e(and)i(send)f(bac)n(k)g(the)g(pair)g
+Fb(f)p Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p Fr(k)s Fz(\)\))p
+Fr(;)14 b(E)1967 1670 y Fj(H)t Fx(\()p Fj(k)q Fx(\))2119
+1655 y Fz(\()p Fr(R)q Fz(\))p Fb(g)p Fz(.)24 b(In)n(termedi-)0
+1755 y(aries)d(can)h(v)n(erify)f(that)i(the)f(pro)r(of)g(of)g(authen)n
+(ticit)n(y)-7 b(,)22 b Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p
+Fr(k)s Fz(\)\),)23 b(hashes)e(to)h(the)h(query)0 1855
+y Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p Fr(H)g Fz(\()p Fr(k)s
+Fz(\)\)\).)26 b(Malicious)e(p)r(eers)g(cannot)g(construct)h(the)g(pro)r
+(of)f Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p Fr(k)s Fz(\)\))25
+b(without)0 1954 y(guessing)h Fr(k)31 b Fz(or)c(in)n(v)n(erting)f(the)i
+(hash)f(function.)125 2060 y(The)g(problem)g(with)h(the)g(triple-hash)e
+(is)h(that)h(an)f(adv)n(ersary)e(that)i(is)h(routing)e(a)0
+2160 y(resp)r(onse)20 b(to)h(a)f(triple-hash)h(request)f(can)h
+(substitute)g(the)h(encrypted)f(con)n(ten)n(t)f(in)i(the)0
+2259 y Fb(f)p Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p Fr(k)s
+Fz(\)\))p Fr(;)14 b(E)466 2274 y Fj(H)t Fx(\()p Fj(k)q
+Fx(\))618 2259 y Fz(\()p Fr(C)6 b(H)h(K)q(;)14 b(siz)t(e)p
+Fz(\))p Fb(g)k Fz(resp)r(onse)h(while)i(main)n(taining)e(the)i
+Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p Fr(k)s Fz(\)\))20 b(to-)0
+2359 y(k)n(en.)33 b(The)g(resulting)g(reply)f Fb(f)p
+Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p Fr(k)s Fz(\)\))p Fr(;)14
+b(X)7 b Fb(g)32 b Fz(still)i(lo)r(oks)e(lik)n(e)h(a)g(v)-5
+b(alid)33 b(resp)r(onse)f(to)0 2459 y(the)h(triple-hash)f(query)g
+Fr(H)7 b Fz(\()p Fr(H)g Fz(\()p Fr(H)g Fz(\()p Fr(k)s
+Fz(\)\)\).)33 b(The)g(triple-hash)f(th)n(us)g(do)r(es)h(not)f(protect)0
+2558 y(against)g(suc)n(h)h(a)g(substitution)h(attac)n(k)e(b)n(y)h(an)g
+(in)n(termediary)-7 b(.)32 b(The)i(impact)f(of)h(the)0
+2658 y(attac)n(k)25 b(is)g(suc)n(h)h(that)g(the)g(net)n(w)n(ork)e(w)n
+(ould)h(propagate)f(and)i(p)r(ossibly)f(cac)n(he)g(the)h(in-)0
+2758 y(v)-5 b(alid)24 b(replies.)g(The)g(attac)n(k)f(will)i(not)f(prev)
+n(en)n(t)f(the)i(spread)e(of)h(v)-5 b(alid)24 b(replies)g(through)0
+2857 y(other)39 b(routes)g(in)h(the)g(system)g(since)f(m)n(ultiple)i
+(results)e(to)h(the)g(same)f(query)g(are)0 2957 y(p)r(ossible.)27
+b(F)-7 b(urthermore,)27 b(an)n(y)g(user)g(searc)n(hing)f(for)h
+Fr(K)34 b Fz(will)28 b(not)g(see)f(the)h(in)n(v)-5 b(alid)28
+b(re-)0 3056 y(sults.)k(The)f(reason)f(is)i(that)g(the)g(attempt)g(to)f
+(decrypt)h Fr(X)38 b Fz(with)32 b Fr(H)7 b Fz(\()p Fr(K)f
+Fz(\))31 b(will)h(\(with)0 3156 y(high)e(probabilit)n(y\))g(result)g
+(in)h(a)f(malformed)f Fs(RBlo)l(ck)p Fz(.)j(Th)n(us,)e(the)h(end-user)e
+(is)i(still)0 3256 y(protected)36 b(from)g(this)h(t)n(yp)r(e)g(of)f
+(spam.)g(Nev)n(ertheless,)g(the)h(adv)n(ersary)c(can)j(abuse)0
+3355 y(net)n(w)n(ork)26 b(resources)g(in)i(the)g(form)f(of)g
+(transmission)g(and)g(cac)n(hing)g(of)g(in)n(v)-5 b(alid)28
+b(data.)125 3461 y(Replacing)g(the)h(triple-hash)f(with)h
+Fs(KBlo)l(ck)p Fz(s)h(for)e(ECRS)g(comes)g(at)h(a)f(relativ)n(ely)0
+3561 y(high)h(price.)g(Where)g(the)h(triple-hash)e(only)h(requires)f(a)
+h(simple)g(hash)g(op)r(eration)f(to)0 3660 y(v)n(erify)22
+b(replies,)h Fs(KBlo)l(ck)p Fz(s)h(need)f(to)g(p)r(erform)f(a)h(public)
+g(k)n(ey)f(op)r(eration.)g(W)-7 b(orse,)23 b(when)0 3760
+y(publishing)28 b(con)n(ten)n(t)f(or)f(searc)n(hing,)g(the)i
+(triple-hash)f(sc)n(heme)g(again)f(only)h(requires)0
+3860 y(a)37 b(few)g(quic)n(k)g(hash)g(op)r(erations)f(to)h(compute)h
+(the)f(query)g(or)f(the)i(con)n(ten)n(t.)f(With)0 3959
+y Fs(KBlo)l(ck)p Fz(s,)31 b(the)g(cost)f(increases)f(to)i(additionally)
+e(generating)g(a)h(public-priv)-5 b(ate)31 b(k)n(ey)0
+4059 y(pair)c(in)h(addition)f(to)h(a)f(public)h(k)n(ey)f(op)r(eration)f
+(and)i(hash)f(op)r(erations.)125 4165 y(Both)40 b Fs(KBlo)l(cks)h
+Fz(and)f(the)h(triple-hash)e(are)h(vulnerable)f(to)i(the)f(guessing)f
+(at-)0 4264 y(tac)n(k.)21 b(Guessing)h(is)g(sligh)n(tly)f(easier)g(for)
+g(the)h(triple-hash)g(since)f(the)i(computation)e(for)0
+4364 y(eac)n(h)30 b(guess)g(is)h(m)n(uc)n(h)f(c)n(heap)r(er.)g(Ov)n
+(erall,)f Fs(KBlo)l(cks)j Fz(w)n(ork)e(b)r(etter)h(than)g(the)g
+(triple-)0 4464 y(hash)37 b(against)g(adv)n(ersaries)e(that)j
+(indiscriminately)g(attempt)g(to)g(abuse)f(net)n(w)n(ork)0
+4563 y(resources,)23 b(but)j(at)f(the)h(exp)r(ense)f(of)g(higher)g(CPU)
+g(utilization)g(ev)n(en)g(in)g(the)h(absence)0 4663 y(of)i(an)g(attac)n
+(k.)f(Th)n(us,)g(using)h(the)g(triple-hash)f(sc)n(heme)h(ma)n(y)f
+(still)h(b)r(e)h(reasonable)d(in)0 4762 y(net)n(w)n(orks)g(with)i
+(limited)g(CPU)g(p)r(o)n(w)n(er)e(or)h(less)g(stringen)n(t)g(securit)n
+(y)g(requiremen)n(ts.)p Black Black eop end
+%%Page: 21 21
+TeXDict begin 21 20 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-523 232 a
+0 17 a
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
 SDict begin H.R end
- 523 232 a 523 232 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.20) cvn H.B /DEST pdfmark
+ 0
+17 a 0 17 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.21) cvn H.B /DEST pdfmark
 end
- 523 232 a Black Fy(20)199 b(C.)27
-b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
-Black 523 448 a FB(is)20 b(implemen)n(ted)h(in)g(ab)r(out)f(8,000)f
-(LOC.)h(The)g(co)r(de)g(is)h(freely)f(a)n(v)-5 b(ailable)19
-b(from)h(the)h Fa(gnu)p FB(net)523 548 y(w)n(ebpage)p
-1 0 0 TeXcolorrgb 831 548 a
+ 0 17 a Black Fv(An)25 b(Enco)r(ding)h(for)h
+(Censorship-Resistan)n(t)f(Sharing)1068 b(21)p Black
+0 165 a
 SDict begin H.S end
- 831 548 a -30 x FA(4)867
-548 y
+ 0 165 a 0 165 a
+SDict begin 12 H.A end
+ 0 165 a 0 165 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.6) cvn H.B /DEST pdfmark
+end
+ 0 165 a 83 x
+FA(6)27 b(Conclusion)0 450 y Fz(This)d(pap)r(er)f(has)g(describ)r(ed)h
+(an)f(enco)r(ding)h(sc)n(heme)f(whic)n(h)g(hides)h(shared)f(data)g
+(from)0 550 y(in)n(termediaries.)29 b(The)g(enco)r(ding)h(uses)f(con)n
+(v)n(ergen)n(t)f(encryption,)h(allo)n(ws)g(sw)n(arming)0
+649 y(and)23 b(pro)r(duces)f(a)h(ciphertext)g(that)g(is)g(not)g
+(signi\014can)n(tly)f(larger)f(than)i(the)h(plain)n(text.)0
+749 y(Individual)g(blo)r(c)n(ks)f(of)h(the)g(ciphertext)g(can)f(b)r(e)i
+(generated)d(from)i(plain)n(text)f(without)0 849 y(reading)e(unrelated)
+i(parts)f(of)g(the)h(original.)e(While)i(dictionary)f(attac)n(ks)g(on)g
+(the)h(k)n(ey-)0 948 y(w)n(ords)i(or)h(kno)n(wn)g(plain)n(text)g(attac)
+n(ks)g(on)g(the)h(con)n(ten)n(t)f(are)g(still)h(p)r(ossible,)f(they)h
+(are)0 1048 y(harmless)21 b(with)h(resp)r(ect)f(to)h(the)g(goal)e(of)i
+(deniabilit)n(y)f(for)g(in)n(termediaries.)g(The)g(basic)0
+1148 y(enco)r(ding)28 b(sc)n(heme)f(can)g(b)r(e)i(extended)f(with)g
+(directories)f(and)h(namespaces.)e(Name-)0 1247 y(spaces)i(allo)n(w)h
+(for)f(\014les)i(and)f(directories)f(to)h(b)r(e)g(up)r(dated.)h(Using)g
+Fr(K)6 b Fz(-deterministic)0 1347 y(public-priv)-5 b(ate)27
+b(k)n(eys)g(for)g(signing)g(con)n(ten)n(t)g(it)h(is)g(p)r(ossible)f(to)
+g(v)n(erify)g(searc)n(h)f(results)0 1446 y(in)i(a)f(global)f(k)n(eyw)n
+(ord)g(space.)125 1548 y(ECRS)j(is)h(implemen)n(ted)h(as)e(a)h(part)g
+(of)g Fa(gnu)p Fz(net,)g(a)g(secure)f(platform)h(for)f(p)r(eer-)0
+1647 y(to-p)r(eer)d(net)n(w)n(orking.)g(In)h Fa(gnu)p
+Fz(net,)h(ECRS)e(w)n(orks)g(to)n(w)n(ards)f(implemen)n(ting)i(anon)n
+(y-)0 1747 y(mous,)i(censorship-resistan)n(t)d(\014le-sharing.)i
+Fa(gnu)p Fz(net)h(is)g(free)g(soft)n(w)n(are)e(and)i(part)g(of)0
+1847 y(the)38 b(GNU)h(pro)5 b(ject.)37 b(The)h Fa(gnu)p
+Fz(net)g(co)r(de)g(is)g(appro)n(ximately)e(100,000)f(lines)j(of)g(C)0
+1946 y(co)r(de.)32 b(ECRS)f(itself)i(is)e(implemen)n(ted)i(in)f(ab)r
+(out)g(8,000)e(LOC.)h(The)h(co)r(de)g(is)f(freely)0 2046
+y(a)n(v)-5 b(ailable)26 b(from)i(the)g Fa(gnu)p Fz(net)g(w)n(ebpage)p
+1 0 0 TeXcolorrgb 1287 2046 a
+SDict begin H.S end
+ 1287 2046 a -30 x Fx(4)1323
+2046 y
 SDict begin 12 H.L end
- 867 548 a 867 548 a
+ 1323 2046 a 1323 2046 a
 SDict begin [ /Subtype /Link /Dest (Hfootnote.4) cvn /H /I /Border
 [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 867 548 a Black FB(.)523 792
-y Fs(Ac)m(kno)m(wledgemen)m(ts)523 870 y
+ 1323 2046 a Black Fz(.)0
+2341 y Fs(A)l(cknow)t(le)l(dgements)0 2458 y
 SDict begin H.S end
- 523 870 a 523
-870 a
+ 0 2458 a
+0 2458 a
 SDict begin 12 H.A end
- 523 870 a 523 870 a
+ 0 2458 a 0 2458 a
 SDict begin [ /View [/XYZ H.V] /Dest (section*.1) cvn H.B /DEST pdfmark
 end
- 523 870 a 84 x FB(The)k(authors)f(thank)h
-(Roger)f(Dingledine)h(for)g(helpful)g(commen)n(ts)g(on)g(an)g(earlier)e
-(draft)i(of)523 1053 y(this)j(pap)r(er.)523 1314 y Fv(References)523
-1410 y
+ 0 2458 a 85 x Fz(The)38 b(authors)f(thank)g
+(Roger)g(Dingledine)h(for)f(helpful)i(commen)n(ts)e(on)h(an)f(earlier)0
+2643 y(draft)27 b(of)h(this)g(pap)r(er.)0 2938 y FA(References)0
+3038 y
 SDict begin H.S end
- 523 1410 a 523 1410 a
+ 0 3038 a 0 3038 a
 SDict begin 11 H.A end
- 523 1410 a 523 1410 a
+ 0 3038 a 0 3038 a
 SDict begin [ /View [/XYZ H.V] /Dest (section*.2) cvn H.B /DEST pdfmark
 end
- 523
-1410 a 523 1410 a
+ 0 3038 a 0
+3038 a
 SDict begin H.S end
- 523 1410 a 523 1410 a
+ 0 3038 a 0 3038 a
 SDict begin 11 H.A end
- 523 1410 a 523
-1410 a
+ 0 3038 a 0 3038 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.anderson96eternity) cvn
 H.B /DEST pdfmark end
- 523 1410 a Black 561 1500 a Fy(1.)p Black 43 w(Ross)e(Anderson.)
-34 b(The)26 b(Eternit)n(y)f(Service.)34 b(In)25 b Fr(Pr)l(o)l(c)l(e)l
-(e)l(dings)30 b(of)d(Pr)l(ago)l(crypt)j(1996)p Fy(,)d(1996.)523
-1515 y
+ 0 3038 a Black
+38 3131 a Fv(1.)p Black 43 w(Ross)34 b(Anderson.)58 b(The)34
+b(Eternit)n(y)g(Service.)59 b(In)33 b Ft(Pr)l(o)l(c)l(e)l(e)l(dings)k
+(of)e(Pr)l(ago)l(crypt)j(1996)p Fv(,)140 3223 y(1996.)0
+3223 y
 SDict begin H.S end
- 523 1515 a 523 1515 a
+ 0 3223 a 0 3223 a
 SDict begin 11 H.A end
- 523 1515 a 523 1515 a
+ 0 3223 a 0 3223 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.esed) cvn H.B /DEST pdfmark
 end
- 523
-1515 a Black 561 1590 a Fy(2.)p Black 43 w(Krista)34
-b(Bennett,)g(Christian)h(Grotho\013,)g(Tzv)n(etan)f(Horozo)n(v,)g(and)g
-(Ioana)h(P)n(atrascu.)60 b(Ef-)663 1681 y(\014cien)n(t)31
-b(Sharing)h(of)h(Encrypted)e(Data.)54 b(In)31 b Fr(ASCIP)p
-Fy(,)h(v)n(olume)g(2384)h(of)g Fr(L)l(e)l(ctur)l(e)j(Notes)e(in)663
-1772 y(Computer)28 b(Scienc)l(e)p Fy(,)f(pages)g(107{120.)i(Springer-V)
--6 b(erlag)25 b(Inc.,)h(2002.)523 1787 y
+ 0 3223 a Black
+38 3316 a Fv(2.)p Black 43 w(Krista)33 b(Bennett,)g(Christian)i
+(Grotho\013,)e(Tzv)n(etan)g(Horozo)n(v,)h(and)f(Ioana)h(P)n(atrascu.)
+140 3407 y(E\016cien)n(t)20 b(Sharing)h(of)g(Encrypted)f(Data.)26
+b(In)20 b Ft(ASCIP)p Fv(,)h(v)n(olume)f(2384)i(of)g Ft(L)l(e)l(ctur)l
+(e)i(Notes)140 3498 y(in)j(Computer)h(Scienc)l(e)p Fv(,)f(pages)g
+(107{120.)i(Springer-V)-6 b(erlag)25 b(Inc.,)h(2002.)0
+3513 y
 SDict begin H.S end
- 523 1787 a 523
-1787 a
+ 0 3513 a 0 3513 a
 SDict begin 11 H.A end
- 523 1787 a 523 1787 a
+ 0 3513 a 0 3513 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.bloom) cvn H.B /DEST pdfmark
 end
- 523 1787 a Black 561 1863
-a Fy(3.)p Black 43 w(Burton)g(Blo)r(om.)37 b(Space/time)26
-b(trade-o\013s)g(in)g(hash)g(co)r(ding)h(with)f(allo)n(w)n(able)i
-(errors.)37 b Fr(Com-)663 1954 y(munic)l(ations)28 b(of)f(the)i(A)n(CM)
-p Fy(,)c(13\(7\):422{426,)30 b(1970.)523 1973 y
+ 0 3513 a Black
+38 3592 a Fv(3.)p Black 43 w(Burton)k(Blo)r(om.)52 b(Space/time)31
+b(trade-o\013s)g(in)g(hash)f(co)r(ding)i(with)f(allo)n(w)n(able)i
+(errors.)140 3683 y Ft(Communic)l(ations)28 b(of)f(the)h(A)n(CM)p
+Fv(,)e(13\(7\):422{426,)k(1970.)0 3702 y
 SDict begin H.S end
- 523 1973
-a 523 1973 a
+ 0 3702 a 0 3702
+a
 SDict begin 11 H.A end
- 523 1973 a 523 1973 a
+ 0 3702 a 0 3702 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.chen99prototype) cvn H.B
 /DEST pdfmark end
- 523 1973 a Black 561
-2044 a Fy(4.)p Black 43 w(Y)-6 b(uan)19 b(Chen,)i(Jan)h(Edler,)f
-(Andrew)g(Goldb)r(erg,)h(Allan)f(Gottlieb,)h(Sumeet)e(Sobti,)h(and)g(P)
-n(eter)663 2135 y(Yianilos.)39 b(A)26 b(protot)n(yp)r(e)g(implemen)n
-(tation)h(of)h(arc)n(hiv)l(al)f(in)n(termemory)-6 b(.)37
-b(In)26 b Fr(Pr)l(o)l(c)l(e)l(e)l(dings)31 b(of)663 2227
-y(the)d(F)-6 b(ourth)29 b(A)n(CM)e(International)i(Confer)l(enc)l(e)g
-(on)f(Digital)f(Libr)l(aries)p Fy(,)g(1999.)523 2242
-y
+ 0 3702 a Black 38 3776 a Fv(4.)p
+Black 43 w(Y)-6 b(uan)23 b(Chen,)h(Jan)g(Edler,)h(Andrew)f(Goldb)r
+(erg,)h(Allan)f(Gottlieb,)h(Sumeet)f(Sobti,)g(and)140
+3867 y(P)n(eter)37 b(Yianilos.)71 b(A)37 b(protot)n(yp)r(e)g(implemen)n
+(tation)h(of)g(arc)n(hiv)l(al)g(in)n(termemory)-6 b(.)69
+b(In)140 3959 y Ft(Pr)l(o)l(c)l(e)l(e)l(dings)24 b(of)d(the)i(F)-6
+b(ourth)24 b(A)n(CM)d(International)i(Confer)l(enc)l(e)h(on)e(Digital)f
+(Libr)l(aries)p Fv(,)140 4050 y(1999.)0 4050 y
 SDict begin H.S end
- 523 2242 a 523 2242 a
+ 0 4050
+a 0 4050 a
 SDict begin 11 H.A end
- 523 2242 a 523 2242 a
+ 0 4050 a 0 4050 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.clark99distributed) cvn
 H.B /DEST pdfmark end
- 523 2242
-a Black 561 2317 a Fy(5.)p Black 43 w(Ian)h(Clark)n(e,)h(Osk)l(ar)g
-(Sandb)r(erg,)f(Brandon)h(Wiley)-6 b(,)28 b(and)g(Theo)r(dorew)i(W.)f
-(Hong.)43 b(F)-6 b(reenet:)663 2408 y(A)35 b(distributed)f(anon)n
-(ymous)i(information)g(storage)h(and)e(retriev)l(al)h(system.)63
-b(In)35 b(Hannes)663 2500 y(F)-6 b(ederrath,)28 b(editor,)g
-Fr(Designing)i(privacy)h(enhancing)f(te)l(chnolo)l(gies:)h
-(International)g(Work-)663 2591 y(shop)38 b(on)f(Design)g(Issues)h(in)f
-(A)n(nonymity)g(and)h(Unobservability,)g(Berkeley,)g(CA,)e(USA,)663
-2682 y(July)25 b(25{26,)g(2000:)g(pr)l(o)l(c)l(e)l(e)l(dings)p
-Fy(,)h(v)n(olume)c(2009)j(of)e Fr(L)l(e)l(ctur)l(e)k(Notes)f(in)f
-(Computer)h(Scienc)l(e)p Fy(.)663 2774 y(Springer-V)-6
-b(erlag)25 b(Inc.,)h(2001.)523 2789 y
+ 0 4050 a Black 38 4143 a
+Fv(5.)p Black 43 w(Ian)44 b(Clark)n(e,)i(Osk)l(ar)e(Sandb)r(erg,)h
+(Brandon)f(Wiley)-6 b(,)45 b(and)g(Theo)r(dorew)h(W.)e(Hong.)140
+4234 y(F)-6 b(reenet:)28 b(A)f(distributed)h(anon)n(ymous)g
+(information)h(storage)h(and)e(retriev)l(al)g(system.)140
+4326 y(In)k(Hannes)h(F)-6 b(ederrath,)33 b(editor,)h
+Ft(Designing)g(privacy)i(enhancing)f(te)l(chnolo)l(gies:)h(In-)140
+4417 y(ternational)g(Workshop)g(on)f(Design)g(Issues)h(in)e(A)n
+(nonymity)h(and)h(Unobservability,)140 4508 y(Berkeley,)e(CA,)e(USA,)h
+(July)h(25{26,)f(2000:)h(pr)l(o)l(c)l(e)l(e)l(dings)p
+Fv(,)h(v)n(olume)c(2009)j(of)f Ft(L)l(e)l(ctur)l(e)140
+4600 y(Notes)28 b(in)g(Computer)g(Scienc)l(e)p Fv(.)f(Springer-V)-6
+b(erlag)26 b(Inc.,)g(2001.)p Black 0 4674 1086 4 v 52
+4731 a Fw(4)p 0 TeXcolorgray 125 4671 a
 SDict begin H.S end
- 523 2789 a 523
-2789 a
+ 125 4671 a 0
+TeXcolorgray 0 TeXcolorgray 125 4671 a
+SDict begin H.R end
+ 125 4671 a 125
+4671 a
+SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.4) cvn H.B /DEST pdfmark
+end
+ 125 4671 a Black 0 1 0 0 TeXcolorcmyk 125 4779
+a
+SDict begin H.S end
+ 125 4779 a 0 1 0 0 TeXcolorcmyk -17 x Fu(http://gnunet.org/)p
+0 1 0 0 TeXcolorcmyk 831 4711 a
+SDict begin H.R end
+ 831 4711 a 831 4762 a
+SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
+/URI /URI (http://gnunet.org/) >> /Subtype /Link H.B /ANN pdfmark end
+
+831 4762 a Black Black Black Black eop end
+%%Page: 22 22
+TeXDict begin 22 21 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 17 a
+SDict begin H.S end
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+SDict begin H.R end
+ 0
+17 a 0 17 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.22) cvn H.B /DEST pdfmark
+end
+ 0 17 a Black Fv(22)879 b(C.)27 b(Grotho\013,)f(K.)g
+(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
+0 165 a
+SDict begin H.S end
+ 0 165 a 0 165 a
 SDict begin 11 H.A end
- 523 2789 a 523 2789 a
+ 0 165 a 0 165 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.cohen02replication) cvn
 H.B /DEST pdfmark end
- 523 2789 a Black 561 2864
-a Fy(6.)p Black 43 w(Edith)31 b(Cohen)g(and)g(Scott)g(Shenk)n(er.)50
-b(Replication)31 b(strategies)i(in)e(unstructured)f(p)r(eer-to-)663
-2955 y(p)r(eer)25 b(net)n(w)n(orks.)35 b(In)25 b Fr(The)j(A)n(CM)f
-(SIGCOMM'02)g(Confer)l(enc)l(e)p Fy(,)g(August)e(2002.)523
-2970 y
+ 0 165 a Black
+38 248 a Fv(6.)p Black 43 w(Edith)d(Cohen)g(and)g(Scott)h(Shenk)n(er.)
+31 b(Replication)25 b(strategies)h(in)e(unstructured)f(p)r(eer-)140
+340 y(to-p)r(eer)i(net)n(w)n(orks.)35 b(In)25 b Ft(The)j(A)n(CM)f
+(SIGCOMM'02)f(Confer)l(enc)l(e)p Fv(,)i(August)d(2002.)0
+355 y
 SDict begin H.S end
- 523 2970 a 523 2970 a
+ 0 355 a 0 355 a
 SDict begin 11 H.A end
- 523 2970 a 523 2970 a
+ 0 355 a 0 355 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.cfs:sosp01) cvn H.B /DEST
 pdfmark end
- 523
-2970 a Black 561 3045 a Fy(7.)p Black 43 w(F)-6 b(rank)26
-b(Dab)r(ek,)i(M.)g(F)-6 b(rans)27 b(Kaasho)r(ek,)h(Da)n(vid)f(Karger,)h
-(Rob)r(ert)g(Morris,)h(and)e(Ion)g(Stoica.)663 3137 y(Wide-area)j(co)r
-(op)r(erativ)n(e)h(storage)g(with)e(CFS.)47 b(In)28 b
-Fr(Pr)l(o)l(c)l(e)l(e)l(dings)34 b(of)d(the)h(18th)g(A)n(CM)e(Sym-)663
-3228 y(p)l(osium)25 b(on)g(Op)l(er)l(ating)h(Systems)g(Principles)f
-(\(SOSP)g('01\))p Fy(,)f(Chateau)f(Lak)n(e)g(Louise,)g(Ban\013,)663
-3319 y(Canada,)k(Octob)r(er)e(2001.)523 3334 y
+ 0 355 a Black 38
+433 a Fv(7.)p Black 43 w(F)-6 b(rank)35 b(Dab)r(ek,)h(M.)g(F)-6
+b(rans)36 b(Kaasho)r(ek,)h(Da)n(vid)f(Karger,)h(Rob)r(ert)f(Morris,)h
+(and)f(Ion)140 524 y(Stoica.)k(Wide-area)29 b(co)r(op)r(erativ)n(e)f
+(storage)h(with)f(CFS.)40 b(In)27 b Ft(Pr)l(o)l(c)l(e)l(e)l(dings)32
+b(of)d(the)h(18th)140 616 y(A)n(CM)21 b(Symp)l(osium)h(on)f(Op)l(er)l
+(ating)i(Systems)g(Principles)f(\(SOSP)g('01\))p Fv(,)d(Chateau)h(Lak)n
+(e)140 707 y(Louise,)26 b(Ban\013,)h(Canada,)f(Octob)r(er)g(2001.)0
+722 y
 SDict begin H.S end
- 523 3334
-a 523 3334 a
+ 0 722 a 0 722 a
 SDict begin 11 H.A end
- 523 3334 a 523 3334 a
+ 0 722 a 0 722 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.dingledine02mixminion) cvn
 H.B /DEST pdfmark end
- 523 3334 a Black 561
-3409 a Fy(8.)p Black 43 w(George)32 b(Danezis,)g(Roger)g(Dingledine,)g
-(and)f(Nic)n(k)f(Mathewson.)52 b(Mixminion:)32 b(Design)g(of)663
-3501 y(a)d(T)n(yp)r(e)f(I)r(I)r(I)g(Anon)n(ymous)g(Remailer)i(Proto)r
-(col.)45 b(In)28 b Fr(IEEE)i(Symp)l(osium)h(on)g(Se)l(curity)g(and)663
-3592 y(Privacy)p Fy(,)c(2003.)523 3607 y
+ 0 722 a Black 38
+801 a Fv(8.)p Black 43 w(George)e(Danezis,)h(Roger)f(Dingledine,)g(and)
+f(Nic)n(k)g(Mathewson.)32 b(Mixminion:)24 b(Design)140
+892 y(of)c(a)g(T)n(yp)r(e)g(I)r(I)r(I)f(Anon)n(ymous)g(Remailer)i
+(Proto)r(col.)27 b(In)19 b Ft(IEEE)i(Symp)l(osium)i(on)f(Se)l(curity)
+140 983 y(and)28 b(Privacy)p Fv(,)e(2003.)0 998 y
 SDict begin H.S end
- 523 3607 a 523
-3607 a
+ 0 998
+a 0 998 a
 SDict begin 11 H.A end
- 523 3607 a 523 3607 a
+ 0 998 a 0 998 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.freehaven-berk) cvn H.B
 /DEST pdfmark end
- 523 3607 a Black 561 3682
-a Fy(9.)p Black 43 w(Roger)18 b(Dingledine,)h(Mic)n(hael)g(J.)g(F)-6
-b(reedman,)18 b(and)g(Da)n(vid)f(Molnar.)23 b(The)c(free)f(ha)n(v)n(en)
-g(pro)t(ject:)663 3774 y(Distributed)37 b(anon)n(ymous)i(storage)g
-(service.)73 b(In)38 b(Hannes)g(F)-6 b(ederrath,)38 b(editor,)h
-Fr(Pr)l(o)l(c)l(e)l(e)l(d-)663 3865 y(ings)26 b(of)g(Designing)g
-(Privacy)h(Enhancing)g(T)-6 b(e)l(chnolo)l(gies:)27 b(Workshop)g(on)g
-(Design)f(Issues)h(in)663 3956 y(A)n(nonymity)h(and)g(Unobservability)p
-Fy(.)g(Springer-V)-6 b(erlag,)26 b(LNCS)f(2009,)i(July)f(2000.)523
-3971 y
+ 0 998 a Black 38 1077 a Fv(9.)p
+Black 43 w(Roger)i(Dingledine,)h(Mic)n(hael)g(J.)g(F)-6
+b(reedman,)28 b(and)g(Da)n(vid)f(Molnar.)43 b(The)28
+b(free)h(ha)n(v)n(en)140 1168 y(pro)t(ject:)24 b(Distributed)f(anon)n
+(ymous)f(storage)j(service.)31 b(In)22 b(Hannes)h(F)-6
+b(ederrath,)23 b(editor,)140 1259 y Ft(Pr)l(o)l(c)l(e)l(e)l(dings)29
+b(of)e(Designing)g(Privacy)h(Enhancing)g(T)-6 b(e)l(chnolo)l(gies:)28
+b(Workshop)h(on)e(De-)140 1351 y(sign)j(Issues)g(in)f(A)n(nonymity)i
+(and)f(Unobservability)p Fv(.)g(Springer-V)-6 b(erlag,)28
+b(LNCS)g(2009,)140 1442 y(July)d(2000.)0 1457 y
 SDict begin H.S end
- 523 3971 a 523 3971 a
+ 0 1457
+a 0 1457 a
 SDict begin 11 H.A end
- 523 3971 a 523 3971 a
+ 0 1457 a 0 1457 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.farsite) cvn H.B /DEST pdfmark
 end
- 523
-3971 a Black 75 x Fy(10.)p Black 43 w(John)19 b(R.)f(Douceur,)h(A)n
-(tul)f(Ady)n(a,)h(Wiliam)h(J.)g(Bolosky)-6 b(,)19 b(Dan)g(Simon,)g(and)
-g(Marvin)g(Theimer.)663 4138 y(Reclaiming)26 b(space)g(from)g
-(duplicate)f(\014les)g(in)g(a)h(serv)n(erless)g(distributed)f(\014le)g
-(system.)33 b(T)-6 b(ec)n(h-)663 4229 y(nical)26 b(rep)r(ort,)g
-(Microsoft)i(Researc)n(h,)e(2002.)523 4244 y
+ 0 1457 a Black 79 x Fv(10.)p
+Black 43 w(John)33 b(R.)g(Douceur,)g(A)n(tul)f(Ady)n(a,)g(Wiliam)i(J.)g
+(Bolosky)-6 b(,)34 b(Dan)e(Simon,)i(and)e(Marvin)140
+1627 y(Theimer.)g(Reclaiming)25 b(space)g(from)g(duplicate)f(\014les)h
+(in)f(a)g(serv)n(erless)h(distributed)f(\014le)140 1718
+y(system.)34 b(T)-6 b(ec)n(hnical)26 b(rep)r(ort,)h(Microsoft)h
+(Researc)n(h,)e(2002.)0 1733 y
 SDict begin H.S end
- 523 4244
-a 523 4244 a
+ 0 1733 a 0 1733 a
 SDict begin 11 H.A end
- 523 4244 a 523 4244 a
+ 0 1733
+a 0 1733 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.feamster-infranet) cvn H.B
 /DEST pdfmark end
- 523 4244 a Black 75
-x Fy(11.)p Black 43 w(Nic)n(k)21 b(F)-6 b(eamster,)23
-b(Magdalena)g(Balazinsk)l(a,)h(Greg)f(Harfst,)g(Hari)f(Balakrishnan,)h
-(and)e(Da)n(vid)663 4410 y(Karger.)k(Infranet:)20 b(Circum)n(v)n(en)n
-(ting)g(w)n(eb)g(censorship)g(and)f(surv)n(eillance.)26
-b(In)19 b Fr(11th)k(USENIX)663 4502 y(Se)l(curity)29
-b(Symp)l(osium)p Fy(,)d(2002.)523 4517 y
+ 0 1733 a Black 79 x Fv(11.)p Black 43 w(Nic)n(k)i(F)-6
+b(eamster,)29 b(Magdalena)i(Balazinsk)l(a,)f(Greg)g(Harfst,)f(Hari)g
+(Balakrishnan,)h(and)140 1903 y(Da)n(vid)e(Karger.)45
+b(Infranet:)29 b(Circum)n(v)n(en)n(ting)g(w)n(eb)g(censorship)h(and)e
+(surv)n(eillance.)45 b(In)140 1994 y Ft(11th)28 b(USENIX)f(Se)l(curity)
+i(Symp)l(osium)p Fv(,)e(2002.)0 2009 y
 SDict begin H.S end
- 523 4517 a 523
-4517 a
+ 0 2009 a 0 2009
+a
 SDict begin 11 H.A end
- 523 4517 a 523 4517 a
+ 0 2009 a 0 2009 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.secure2004goh) cvn H.B /DEST
 pdfmark end
- 523 4517 a Black 75 x Fy(12.)p
-Black 43 w(Eu-Jin)f(Goh.)35 b(Secure)25 b(indexes.)35
-b(In)25 b Fr(Cryptolo)l(gy)k(ePrint)f(A)n(r)l(chive)p
-Fy(,)f(Oct)e(2003.)523 4607 y
+ 0 2009 a Black 79 x Fv(12.)p Black
+43 w(Eu-Jin)e(Goh.)35 b(Secure)25 b(indexes.)35 b(In)24
+b Ft(Cryptolo)l(gy)30 b(ePrint)e(A)n(r)l(chive)p Fv(,)f(Oct)e(2003.)0
+2103 y
 SDict begin H.S end
- 523 4607 a 523 4607 a
+ 0 2103 a 0 2103 a
 SDict begin 11 H.A end
- 523
-4607 a 523 4607 a
+ 0 2103 a 0 2103 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.ebe2003) cvn H.B /DEST pdfmark
 end
- 523 4607 a Black 75 x Fy(13.)p Black
-43 w(Christian)i(Grotho\013.)35 b(An)25 b(Excess-Based)i(Economic)g(Mo)
-r(del)g(for)f(Resource)h(Allo)r(cation)g(in)663 4773
-y(P)n(eer-to-P)n(eer)f(Net)n(w)n(orks.)34 b Fr(Wirtschaftsinformatik)p
-Fy(,)27 b(3-2003,)h(June)d(2003.)p Black 523 4839 473
-4 v 546 4893 a Fz(4)p 0 TeXcolorgray 606 4833 a
+ 0 2103 a Black
+78 x Fv(13.)p Black 43 w(Christian)k(Grotho\013.)45 b(An)27
+b(Excess-Based)j(Economic)g(Mo)r(del)g(for)g(Resource)f(Allo)r(ca-)140
+2273 y(tion)c(in)h(P)n(eer-to-P)n(eer)g(Net)n(w)n(orks.)35
+b Ft(Wirtschaftsinformatik)p Fv(,)27 b(3-2003,)g(June)f(2003.)0
+2288 y
 SDict begin H.S end
- 606 4833
-a 0 TeXcolorgray 0 TeXcolorgray 606 4833 a
-SDict begin H.R end
- 606 4833 a
-606 4833 a
-SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.4) cvn H.B /DEST pdfmark
-end
- 606 4833 a Black 0 1 0 0 TeXcolorcmyk 606
-4941 a
-SDict begin H.S end
- 606 4941 a 0 1 0 0 TeXcolorcmyk -17 x Fx(http://gnunet.org/)p
-0 1 0 0 TeXcolorcmyk 1312 4872 a
-SDict begin H.R end
- 1312 4872 a 1312 4924
-a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://gnunet.org/) >> /Subtype /Link H.B /ANN pdfmark end
- 1312 4924 a Black Black Black Black eop end
-%%Page: 21 21
-TeXDict begin 21 20 bop 0 0 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- 0 0 a Black 0 TeXcolorgray
-523 232 a
-SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
-SDict begin H.R end
- 523 232 a 523 232 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.21) cvn H.B /DEST pdfmark
-end
- 523 232 a Black 1036 w Fy(An)25
-b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
-b(21)p Black 523 365 a
-SDict begin H.S end
- 523 365 a 523 365 a
+ 0 2288 a 0 2288 a
 SDict begin 11 H.A end
- 523 365 a
-523 365 a
+ 0 2288 a 0 2288 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.le2005) cvn H.B /DEST pdfmark
 end
- 523 365 a Black 83 x Fy(14.)p Black 43 w(Christian)33
-b(Grotho\013.)55 b(Reading)32 b(File)i(Metadata)f(with)g(extract)f(and)
-g(lib)r(extractor.)56 b Fr(Lin-)663 540 y(uxJournal)p
-Fy(,)27 b(6-2005,)h(June)d(2005.)523 555 y
+ 0 2288 a Black
+78 x Fv(14.)p Black 43 w(Christian)36 b(Grotho\013.)64
+b(Reading)35 b(File)h(Metadata)h(with)e(extract)h(and)f(lib)r
+(extractor.)140 2458 y Ft(LinuxJournal)p Fv(,)27 b(6-2005,)g(June)f
+(2005.)0 2473 y
 SDict begin H.S end
- 523 555 a
-523 555 a
+ 0 2473 a 0 2473 a
 SDict begin 11 H.A end
- 523 555 a 523 555 a
+ 0 2473 a 0 2473 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.hartman99swarm) cvn H.B
 /DEST pdfmark end
- 523 555 a Black 81 x Fy(15.)p
-Black 43 w(John)d(H.)g(Hartman,)h(Ian)f(Murdo)r(c)n(k,)h(and)f(T)-6
-b(ammo)23 b(Spalink.)28 b(The)23 b(sw)n(arm)g(scalable)h(storage)663
-727 y(system.)67 b(In)36 b Fr(International)j(Confer)l(enc)l(e)g(on)f
-(Distribute)l(d)h(Computing)f(Systems)p Fy(,)h(pages)663
-819 y(74{81,)28 b(1999.)523 834 y
+ 0
+2473 a Black 78 x Fv(15.)p Black 43 w(John)k(H.)h(Hartman,)g(Ian)f
+(Murdo)r(c)n(k,)h(and)f(T)-6 b(ammo)32 b(Spalink.)49
+b(The)30 b(sw)n(arm)i(scalable)140 2642 y(storage)e(system.)44
+b(In)29 b Ft(International)j(Confer)l(enc)l(e)g(on)e(Distribute)l(d)j
+(Computing)e(Sys-)140 2734 y(tems)p Fv(,)26 b(pages)h(74{81,)h(1999.)0
+2749 y
 SDict begin H.S end
- 523 834 a 523 834 a
+ 0 2749 a 0 2749 a
 SDict begin 11 H.A end
-
-523 834 a 523 834 a
+ 0 2749 a 0 2749 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.herlihy87how) cvn H.B /DEST
 pdfmark end
- 523 834 a Black 81 x Fy(16.)p Black
-43 w(Maurice)42 b(Herlih)n(y)e(and)h(J.)h(D.)f(T)n(ygar.)81
-b(Ho)n(w)42 b(to)f(mak)n(e)g(replicated)h(data)g(secure.)81
-b(In)663 1007 y Fr(CR)-6 b(YPTO)p Fy(,)25 b(pages)i(379{391,)i(1987.)
-523 1022 y
+ 0 2749 a Black
+78 x Fv(16.)p Black 43 w(Maurice)j(Herlih)n(y)f(and)h(J.)g(D.)g(T)n
+(ygar.)50 b(Ho)n(w)31 b(to)g(mak)n(e)f(replicated)i(data)f(secure.)49
+b(In)140 2919 y Ft(CR)-6 b(YPTO)p Fv(,)25 b(pages)i(379{391,)h(1987.)0
+2934 y
 SDict begin H.S end
- 523 1022 a 523 1022 a
+ 0 2934 a 0 2934 a
 SDict begin 11 H.A end
- 523 1022 a 523 1022
-a
+ 0 2934 a 0 2934 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.levien03advogato) cvn H.B
 /DEST pdfmark end
- 523 1022 a Black 81 x Fy(17.)p Black 43 w(Raph)76 b(Levien.)189
-b(A)n(ttac)n(k)77 b(resistan)n(t)h(trust)f(metrics.)190
-b(Draft)78 b(a)n(v)l(ailable)h(at)663 1194 y(h)n
-(ttp://www.levien.com/thesis/compact.p)r(df,)31 b(2003.)523
-1213 y
+ 0 2934 a Black
+78 x Fv(17.)p Black 43 w(Raph)62 b(Levien.)148 b(A)n(ttac)n(k)62
+b(resistan)n(t)j(trust)e(metrics.)148 b(Draft)64 b(a)n(v)l(ailable)h
+(at)140 3103 y(h)n(ttp://www.levien.com/thesis/compact.p)r(df,)31
+b(2003.)0 3122 y
 SDict begin H.S end
- 523 1213 a 523 1213 a
+ 0 3122 a 0 3122 a
 SDict begin 11 H.A end
- 523 1213 a 523 1213 a
+ 0 3122 a 0 3122 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.maymounkov02kademlia) cvn
 H.B /DEST pdfmark end
- 523
-1213 a Black 78 x Fy(18.)p Black 43 w(P)n(etar)h(Ma)n(ymounk)n(o)n(v)f
-(and)h(Da)n(vid)f(Mazi)n(\022)-36 b(eres.)56 b(Kademlia:)33
-b(A)f(p)r(eer-to-p)r(eer)f(information)663 1382 y(system)f(based)g(on)g
-(the)g(xor)g(metric.)48 b(In)29 b Fr(Pr)l(o)l(c)l(e)l(e)l(dings)34
-b(of)d(IPTPS02,)g(Cambridge)p Fy(,)g(Marc)n(h)663 1473
-y(2002.)523 1473 y
+
+0 3122 a Black 75 x Fv(18.)p Black 43 w(P)n(etar)26 b(Ma)n(ymounk)n(o)n
+(v)f(and)h(Da)n(vid)f(Mazi)n(\022)-36 b(eres.)37 b(Kademlia:)28
+b(A)d(p)r(eer-to-p)r(eer)h(informa-)140 3288 y(tion)d(system)g(based)g
+(on)g(the)g(xor)g(metric.)31 b(In)22 b Ft(Pr)l(o)l(c)l(e)l(e)l(dings)27
+b(of)e(IPTPS02,)g(Cambridge)p Fv(,)140 3380 y(Marc)n(h)h(2002.)0
+3380 y
 SDict begin H.S end
- 523 1473 a 523 1473 a
+ 0 3380 a 0 3380 a
 SDict begin 11 H.A end
- 523 1473 a 523
-1473 a
+ 0 3380 a 0 3380 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.mazires00sfs) cvn H.B /DEST
 pdfmark end
- 523 1473 a Black 97 x Fy(19.)p Black 43 w(Da)n(vid)25
-b(Mazi)n(\022)-36 b(eres.)36 b Fr(Self-c)l(ertifying)28
-b(\014le)g(system)p Fy(.)35 b(PhD)26 b(thesis,)g(MIT,)h(2000.)523
-1585 y
+ 0 3380 a Black
+93 x Fv(19.)p Black 43 w(Da)n(vid)f(Mazi)n(\022)-36 b(eres.)36
+b Ft(Self-c)l(ertifying)28 b(\014le)g(system)p Fv(.)35
+b(PhD)26 b(thesis,)g(MIT,)h(2000.)0 3488 y
 SDict begin H.S end
- 523 1585 a 523 1585 a
+ 0 3488 a 0
+3488 a
 SDict begin 11 H.A end
- 523 1585 a 523 1585 a
+ 0 3488 a 0 3488 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.mazieres02building) cvn
 H.B /DEST pdfmark end
- 523
-1585 a Black 81 x Fy(20.)p Black 43 w(Da)n(vid)e(Mazi)n(\022)-36
-b(eres)28 b(and)e(Dennis)g(Shasha.)36 b(Building)27 b(secure)g(\014le)f
-(systems)h(out)f(of)h(b)n(yzan)n(tine)663 1758 y(storage.)66
-b(In)35 b Fr(Pr)l(o)l(c)l(e)l(e)l(dings)k(of)d(the)i(Twenty-First)h(A)n
-(CM)d(Symp)l(osium)h(on)g(Principles)g(of)663 1849 y(Distribute)l(d)29
-b(Computing)f(\(PODC)f(2002\))p Fy(,)g(2002.)523 1868
-y
+ 0 3488 a Black 79 x Fv(20.)p
+Black 43 w(Da)n(vid)20 b(Mazi)n(\022)-36 b(eres)22 b(and)e(Dennis)g
+(Shasha.)27 b(Building)21 b(secure)g(\014le)f(systems)h(out)g(of)g(b)n
+(yzan-)140 3658 y(tine)i(storage.)33 b(In)24 b Ft(Pr)l(o)l(c)l(e)l(e)l
+(dings)k(of)d(the)i(Twenty-First)h(A)n(CM)d(Symp)l(osium)h(on)h
+(Princi-)140 3749 y(ples)h(of)f(Distribute)l(d)i(Computing)f(\(PODC)f
+(2002\))p Fv(,)g(2002.)0 3768 y
 SDict begin H.S end
- 523 1868 a 523 1868 a
+ 0 3768 a 0 3768 a
 SDict begin 11 H.A end
- 523 1868 a 523 1868 a
+ 0 3768
+a 0 3768 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.mckusick84fast) cvn H.B
 /DEST pdfmark end
- 523 1868
-a Black 77 x Fy(21.)p Black 43 w(Marshall)e(K.)f(McKusic)n(k,)g
-(William)i(N.)d(Jo)n(y)-6 b(,)24 b(Sam)n(uel)g(J.)h(Le\017er,)f(and)g
-(Rob)r(ert)f(S.)h(F)-6 b(abry)g(.)30 b(A)663 2037 y(fast)c(\014le)g
-(system)g(for)g(UNIX.)33 b Fr(Computer)c(Systems)p Fy(,)e
-(2\(3\):181{197,)j(1984.)523 2055 y
+ 0 3768 a Black 75 x Fv(21.)p Black 43 w(Marshall)39
+b(K.)f(McKusic)n(k,)h(William)g(N.)f(Jo)n(y)-6 b(,)38
+b(Sam)n(uel)g(J.)h(Le\017er,)f(and)g(Rob)r(ert)g(S.)140
+3934 y(F)-6 b(abry)g(.)33 b(A)25 b(fast)i(\014le)f(system)f(for)i
+(UNIX.)33 b Ft(Computer)28 b(Systems)p Fv(,)g(2\(3\):181{197,)h(1984.)0
+3953 y
 SDict begin H.S end
- 523 2055 a 523 2055
-a
+ 0 3953 a 0 3953 a
 SDict begin 11 H.A end
- 523 2055 a 523 2055 a
+ 0 3953 a 0 3953 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.merkle89tree) cvn H.B /DEST
 pdfmark end
- 523 2055 a Black 78 x Fy(22.)p
-Black 43 w(Ralph)e(C.)i(Merkle.)45 b(A)28 b(certi\014ed)h(digital)h
-(signature.)45 b(In)28 b Fr(G.)j(Br)l(assar)l(d,)h(e)l(ditor,)f(A)l
-(dvanc)l(es)663 2225 y(in)e(Cryptolo)l(gy|CR)-6 b(YPTO)32
-b('89)p Fy(,)d(pages)g(218{238.)j(Springer-V)-6 b(erlag,)29
-b(1990.)44 b(v)n(olume)29 b(435)663 2316 y(of)d(Lecture)g(Notes)g(in)f
-(Computer)h(Science.)523 2331 y
+ 0 3953 a Black
+75 x Fv(22.)p Black 43 w(Ralph)h(C.)h(Merkle.)49 b(A)30
+b(certi\014ed)g(digital)i(signature.)49 b(In)30 b Ft(G.)h(Br)l(assar)l
+(d,)j(e)l(ditor,)e(A)l(d-)140 4119 y(vanc)l(es)h(in)e(Cryptolo)l(gy|CR)
+-6 b(YPTO)34 b('89)p Fv(,)d(pages)g(218{238.)i(Springer-V)-6
+b(erlag,)31 b(1990.)140 4210 y(v)n(olume)25 b(435)i(of)f(Lecture)g
+(Notes)g(in)g(Computer)f(Science.)0 4225 y
 SDict begin H.S end
- 523 2331 a 523 2331 a
+ 0 4225 a 0
+4225 a
 SDict begin 11 H.A end
-
-523 2331 a 523 2331 a
+ 0 4225 a 0 4225 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.muthitacharoen02ivy) cvn
 H.B /DEST pdfmark end
- 523 2331 a Black 81 x Fy(23.)p
-Black 43 w(A)n(thic)n(ha)21 b(Muthitac)n(haro)r(en,)i(Rob)r(ert)f
-(Morris,)i(Thomer)f(M.)f(Gil,)i(and)d(Benjie)j(Chen.)k(Ivy:)21
-b(A)663 2504 y(read/write)i(p)r(eer-to-p)r(eer)e(\014le)g(system.)28
-b(In)21 b Fr(Pr)l(o)l(c)l(e)l(e)l(dings)26 b(of)d(5th)i(Symp)l(osium)f
-(on)g(Op)l(er)l(ating)663 2595 y(Systems)29 b(Design)f(and)g
-(Implementation)p Fy(,)e(2002.)523 2610 y
+ 0 4225 a Black 79 x Fv(23.)p
+Black 43 w(A)n(thic)n(ha)k(Muthitac)n(haro)r(en,)i(Rob)r(ert)f(Morris,)
+h(Thomer)g(M.)g(Gil,)g(and)e(Benjie)j(Chen.)140 4395
+y(Ivy:)25 b(A)i(read/write)h(p)r(eer-to-p)r(eer)e(\014le)h(system.)38
+b(In)26 b Ft(Pr)l(o)l(c)l(e)l(e)l(dings)31 b(of)d(5th)h(Symp)l(osium)
+140 4486 y(on)e(Op)l(er)l(ating)i(Systems)g(Design)f(and)g
+(Implementation)p Fv(,)f(2002.)0 4501 y
 SDict begin H.S end
- 523 2610 a
-523 2610 a
+ 0 4501 a 0 4501
+a
 SDict begin 11 H.A end
- 523 2610 a 523 2610 a
+ 0 4501 a 0 4501 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.perng2005csr) cvn H.B /DEST
 pdfmark end
- 523 2610 a Black 81
-x Fy(24.)p Black 43 w(Ginger)h(P)n(erng,)h(Mic)n(hael)g(K.)f(Reiter,)h
-(and)f(Chenxi)f(W)-6 b(ang.)39 b(Censorship)28 b(resistance)g(revis-)
-663 2783 y(ited.)c(In)18 b(Jordi)i(Herrera-Joancomarti,)i(editor,)e
-Fr(Pr)l(e-Pr)l(o)l(c)l(e)l(e)l(dings)25 b(of)c(the)h(7th)h
-(International)663 2874 y(Workshop)29 b(on)e(Information)h(Hiding)p
-Fy(,)d(pages)i(279{293,)i(2005.)523 2889 y
+ 0 4501 a Black 79 x Fv(24.)p Black
+43 w(Ginger)k(P)n(erng,)h(Mic)n(hael)g(K.)f(Reiter,)g(and)f(Chenxi)h(W)
+-6 b(ang.)50 b(Censorship)31 b(resistance)140 4671 y(revisited.)60
+b(In)33 b(Jordi)i(Herrera-Joancomarti,)h(editor,)f Ft(Pr)l(e-Pr)l(o)l
+(c)l(e)l(e)l(dings)k(of)c(the)h(7th)140 4762 y(International)28
+b(Workshop)h(on)f(Information)f(Hiding)p Fv(,)f(pages)h(279{293,)h
+(2005.)p Black Black eop end
+%%Page: 23 23
+TeXDict begin 23 22 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+0 17 a
 SDict begin H.S end
- 523 2889 a
-523 2889 a
+ 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+SDict begin H.R end
+ 0
+17 a 0 17 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.23) cvn H.B /DEST pdfmark
+end
+ 0 17 a Black Fv(An)25 b(Enco)r(ding)h(for)h
+(Censorship-Resistan)n(t)f(Sharing)1068 b(23)p Black
+0 165 a
+SDict begin H.S end
+ 0 165 a 0 165 a
 SDict begin 11 H.A end
- 523 2889 a 523 2889 a
+ 0 165 a 0 165 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.rabin89efficient) cvn H.B
 /DEST pdfmark end
- 523 2889 a Black 82
-x Fy(25.)p Black 43 w(Mic)n(hael)h(O.)f(Rabin.)45 b(E\016cien)n(t)29
-b(disp)r(ersal)h(of)g(information)h(for)f(securit)n(y)-6
-b(,)29 b(load)h(balancing,)663 3062 y(and)25 b(fault)h(tolerance.)36
-b Fr(Journal)28 b(of)f(the)i(A)n(CM)p Fy(,)c(36\(2\):335{348,)30
-b(1989.)523 3081 y
+ 0 165 a Black
+83 x Fv(25.)p Black 43 w(Mic)n(hael)24 b(O.)f(Rabin.)30
+b(E\016cien)n(t)23 b(disp)r(ersal)i(of)e(information)i(for)f(securit)n
+(y)-6 b(,)23 b(load)h(balanc-)140 340 y(ing,)i(and)f(fault)i
+(tolerance.)35 b Ft(Journal)28 b(of)g(the)g(A)n(CM)p
+Fv(,)e(36\(2\):335{348,)k(1989.)0 358 y
 SDict begin H.S end
- 523 3081 a 523 3081 a
+ 0 358 a 0 358
+a
 SDict begin 11 H.A end
- 523 3081 a 523
-3081 a
+ 0 358 a 0 358 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.rowstron01storage) cvn H.B
 /DEST pdfmark end
- 523 3081 a Black 77 x Fy(26.)p Black 43 w(An)n(ton)n(y)k(I.)h
-(T.)i(Ro)n(wstron)f(and)f(P)n(eter)h(Drusc)n(hel.)64
-b(Storage)37 b(managemen)n(t)f(and)f(cac)n(hing)663 3250
-y(in)c(P)-6 b(AST,)30 b(a)i(large-scale,)h(p)r(ersisten)n(t)f(p)r
-(eer-to-p)r(eer)e(storage)j(utilit)n(y)-6 b(.)50 b(In)30
-b Fr(Symp)l(osium)j(on)663 3341 y(Op)l(er)l(ating)c(Systems)g
-(Principles)p Fy(,)d(pages)g(188{201,)j(2001.)523 3356
-y
+ 0 358 a Black 73 x Fv(26.)p Black 43
+w(An)n(ton)n(y)19 b(I.)i(T.)h(Ro)n(wstron)g(and)f(P)n(eter)h(Drusc)n
+(hel.)27 b(Storage)22 b(managemen)n(t)f(and)g(cac)n(hing)140
+522 y(in)26 b(P)-6 b(AST,)26 b(a)g(large-scale,)j(p)r(ersisten)n(t)e(p)
+r(eer-to-p)r(eer)f(storage)h(utilit)n(y)-6 b(.)36 b(In)25
+b Ft(Symp)l(osium)140 614 y(on)i(Op)l(er)l(ating)i(Systems)g
+(Principles)p Fv(,)e(pages)f(188{201,)j(2001.)0 629 y
 SDict begin H.S end
- 523 3356 a 523 3356 a
+
+0 629 a 0 629 a
 SDict begin 11 H.A end
- 523 3356 a 523 3356 a
+ 0 629 a 0 629 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.shamir) cvn H.B /DEST pdfmark
 end
- 523 3356
-a Black 81 x Fy(27.)p Black 43 w(A.)g(Shamir.)48 b(Ho)n(w)30
-b(to)g(share)g(a)h(secret.)47 b(In)30 b Fr(Communic)l(ations)i(of)f
-(the)h(A)n(CM)p Fy(,)e(v)n(olume)g(22,)663 3529 y(pages)c(612{613.)j(A)
-n(CM,)d(1979.)523 3544 y
+ 0 629 a Black 76 x Fv(27.)p
+Black 43 w(A.)18 b(Shamir.)24 b(Ho)n(w)19 b(to)g(share)g(a)g(secret.)24
+b(In)18 b Ft(Communic)l(ations)k(of)f(the)h(A)n(CM)p
+Fv(,)d(v)n(olume)g(22,)140 796 y(pages)26 b(612{613.)j(A)n(CM,)d(1979.)
+0 811 y
 SDict begin H.S end
- 523 3544 a 523 3544 a
+ 0 811 a 0 811 a
 SDict begin 11 H.A end
- 523 3544
-a 523 3544 a
+ 0 811 a 0 811 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.stoica01chord) cvn H.B /DEST
 pdfmark end
- 523 3544 a Black 81 x Fy(28.)p Black 43
-w(Ion)k(Stoica,)i(Rob)r(ert)e(Morris,)j(Da)n(vid)d(Karger,)i(M.)f(F)-6
-b(rans)31 b(Kaasho)r(ek,)h(and)e(Hari)h(Balakr-)663 3717
-y(ishnan.)g(Chord:)24 b(A)f(scalable)i(p)r(eer-to-p)r(eer)f(lo)r(okup)f
-(service)h(for)h(in)n(ternet)e(applications.)33 b(In)663
-3808 y Fr(Pr)l(o)l(c)l(e)l(e)l(dings)26 b(of)d(the)i(2001)f(c)l(onfer)l
-(enc)l(e)i(on)d(applic)l(ations,)i(te)l(chnolo)l(gies,)g(ar)l(chite)l
-(ctur)l(es,)h(and)663 3899 y(pr)l(oto)l(c)l(ols)j(for)f(c)l(omputer)h
-(c)l(ommunic)l(ations)p Fy(,)e(pages)g(149{160.)h(A)n(CM)e(Press,)h
-(2001.)523 3914 y
+ 0 811 a Black
+77 x Fv(28.)p Black 43 w(Ion)f(Stoica,)h(Rob)r(ert)g(Morris,)h(Da)n
+(vid)e(Karger,)h(M.)g(F)-6 b(rans)26 b(Kaasho)r(ek,)g(and)f(Hari)h
+(Bal-)140 979 y(akrishnan.)i(Chord:)22 b(A)g(scalable)h(p)r(eer-to-p)r
+(eer)f(lo)r(okup)g(service)g(for)h(in)n(ternet)e(applica-)140
+1070 y(tions.)31 b(In)23 b Ft(Pr)l(o)l(c)l(e)l(e)l(dings)k(of)e(the)i
+(2001)f(c)l(onfer)l(enc)l(e)h(on)f(applic)l(ations,)g(te)l(chnolo)l
+(gies,)h(ar-)140 1162 y(chite)l(ctur)l(es,)e(and)e(pr)l(oto)l(c)l(ols)h
+(for)f(c)l(omputer)h(c)l(ommunic)l(ations)p Fv(,)e(pages)f(149{160.)j
+(A)n(CM)140 1253 y(Press,)j(2001.)0 1268 y
 SDict begin H.S end
- 523 3914 a 523 3914 a
+ 0 1268 a 0
+1268 a
 SDict begin 11 H.A end
- 523 3914 a 523
-3914 a
+ 0 1268 a 0 1268 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.stratton_oakmont) cvn H.B
 /DEST pdfmark end
- 523 3914 a Black 82 x Fy(29.)p Black 43 w(Stratton)19
-b(Oakmon)n(t)g(vs)h(Pro)r(digy)g(Services)g(Compan)n(y,)g(1995)h(N.Y.)f
-(Misc.)h(Lexis)f(229,)h(\(N.Y.)663 4087 y(Sup.)k(Ct.)h(Nassau)g(Co.,)h
-(1995\).)523 4106 y
+ 0 1268 a Black 76 x Fv(29.)p
+Black 43 w(Stratton)c(Oakmon)n(t)g(vs)h(Pro)r(digy)g(Services)g(Compan)
+n(y,)g(1995)i(N.Y.)d(Misc.)i(Lexis)f(229,)140 1436 y(\(N.Y.)h(Sup.)g
+(Ct.)h(Nassau)g(Co.,)h(1995\).)0 1454 y
 SDict begin H.S end
- 523 4106 a 523 4106 a
+ 0 1454 a 0 1454
+a
 SDict begin 11 H.A end
- 523 4106 a
-523 4106 a
+ 0 1454 a 0 1454 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.syverson97anonymous) cvn
 H.B /DEST pdfmark end
- 523 4106 a Black 77 x Fy(30.)p Black 43 w(P)n(aul)35
-b(Syv)n(erson,)g(Da)n(vid)f(Goldsc)n(hlag,)j(and)e(Mic)n(hael)h(Reed.)
-62 b(Anon)n(ymous)34 b(Connections)663 4275 y(and)29
-b(Onion)f(Routing.)45 b(In)29 b Fr(IEEE)h(Symp)l(osium)h(on)g(Se)l
-(curity)h(and)f(Privacy)p Fy(,)g(pages)f(44{54,)663 4366
-y(Oakland,)25 b(California,)k(4{7)e(1997.)523 4381 y
+ 0 1454 a Black 73 x Fv(30.)p Black
+43 w(P)n(aul)17 b(Syv)n(erson,)g(Da)n(vid)f(Goldsc)n(hlag,)j(and)e(Mic)
+n(hael)i(Reed.)h(Anon)n(ymous)c(Connections)140 1618
+y(and)23 b(Onion)g(Routing.)31 b(In)22 b Ft(IEEE)j(Symp)l(osium)h(on)g
+(Se)l(curity)h(and)f(Privacy)p Fv(,)e(pages)h(44{)140
+1710 y(54,)h(Oakland,)g(California,)j(4{7)e(1997.)0 1725
+y
 SDict begin H.S end
-
-523 4381 a 523 4381 a
+ 0 1725 a 0 1725 a
 SDict begin 11 H.A end
- 523 4381 a 523 4381 a
+ 0 1725 a 0 1725 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.waldman2001tangler) cvn
 H.B /DEST pdfmark end
- 523 4381
-a Black 82 x Fy(31.)p Black 43 w(Marc)36 b(W)-6 b(aldman)34
-b(and)h(Da)n(vid)f(Mazi)n(\022)-36 b(eres.)64 b(T)-6
-b(angler:)37 b(A)d(censorhip-resistan)n(t)i(publishing)663
-4554 y(system)25 b(based)f(on)h(do)r(cumen)n(t)g(en)n(tanglemen)n(ts.)
-33 b(In)24 b Fr(A)n(CM)i(Confer)l(enc)l(e)i(on)f(Computer)h(and)663
-4645 y(Communic)l(ations)g(Se)l(curity)p Fy(,)f(pages)g(126{135,)h
-(2001.)523 4660 y
+ 0 1725 a Black
+76 x Fv(31.)p Black 43 w(Marc)38 b(W)-6 b(aldman)37 b(and)h(Da)n(vid)f
+(Mazi)n(\022)-36 b(eres.)71 b(T)-6 b(angler:)39 b(A)e
+(censorhip-resistan)n(t)h(pub-)140 1892 y(lishing)c(system)g(based)g
+(on)g(do)r(cumen)n(t)f(en)n(tanglemen)n(ts.)59 b(In)33
+b Ft(A)n(CM)h(Confer)l(enc)l(e)i(on)140 1983 y(Computer)28
+b(and)g(Communic)l(ations)g(Se)l(curity)p Fv(,)g(pages)e(126{135,)j
+(2001.)0 1998 y
 SDict begin H.S end
- 523 4660 a 523 4660 a
+ 0 1998 a 0 1998 a
 SDict begin 11 H.A end
- 523 4660 a 523
-4660 a
+ 0 1998 a 0 1998 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.pub00) cvn H.B /DEST pdfmark
 end
- 523 4660 a Black 82 x Fy(32.)p Black 43 w(Marc)36
-b(W)-6 b(aldman,)36 b(Aviel)g(D.)f(Rubin,)g(and)h(Lorrie)g(F)-6
-b(aith)36 b(Cranor.)65 b(Publius:)36 b(A)g(robust,)663
-4833 y(tamp)r(er-eviden)n(t,)18 b(censorship-resistan)n(t,)i(w)n(eb)g
-(publishing)f(system.)24 b(In)18 b Fr(Pr)l(o)l(c.)k(9th)g(USENIX)663
-4924 y(Se)l(curity)29 b(Symp)l(osium)p Fy(,)d(pages)g(59{72,)i(August)d
-(2000.)p Black Black eop end
-%%Page: 22 22
-TeXDict begin 22 21 bop 0 0 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- 0 0 a Black 0 TeXcolorgray
-523 232 a
+ 0
+1998 a Black 77 x Fv(32.)p Black 43 w(Marc)23 b(W)-6
+b(aldman,)23 b(Aviel)f(D.)h(Rubin,)e(and)h(Lorrie)i(F)-6
+b(aith)22 b(Cranor.)31 b(Publius:)23 b(A)f(robust,)140
+2166 y(tamp)r(er-eviden)n(t,)36 b(censorship-resistan)n(t,)i(w)n(eb)f
+(publishing)g(system.)68 b(In)37 b Ft(Pr)l(o)l(c.)h(9th)140
+2257 y(USENIX)27 b(Se)l(curity)i(Symp)l(osium)p Fv(,)d(pages)h(59{72,)h
+(August)d(2000.)0 2272 y
 SDict begin H.S end
- 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
-232 a
-SDict begin H.R end
- 523 232 a 523 232 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.22) cvn H.B /DEST pdfmark
-end
- 523 232 a Black Fy(22)199 b(C.)27
-b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
-Black 523 365 a
-SDict begin H.S end
- 523 365 a 523 365 a
+ 0 2272 a 0 2272 a
 SDict begin 11 H.A end
- 523 365 a 523 365
-a
+ 0 2272 a 0
+2272 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.mojotech) cvn H.B /DEST
 pdfmark end
- 523 365 a Black 83 x Fy(33.)p Black 43 w(Bryce)g(Wilco)n(x-O'Hearn.)
-39 b(Exp)r(eriences)27 b(Deplo)n(ying)h(a)f(Large-Scale)h(Emergen)n(t)g
-(Net)n(w)n(ork.)663 540 y(In)e Fr(Pe)l(er-to-Pe)l(er)32
-b(Systems:)e(First)g(International)g(Workshop,)f(ITPTS)f(2002)p
-Fy(,)g(pages)g(104{)663 631 y(110.)f(Springer-V)-6 b(erlag)25
-b(Heidelb)r(erg,)i(Jan)n(uary)f(2002.)p Black Black eop
-end
+ 0 2272 a Black 77 x Fv(33.)p Black 43 w(Bryce)h(Wilco)n
+(x-O'Hearn.)35 b(Exp)r(eriences)26 b(Deplo)n(ying)g(a)g(Large-Scale)h
+(Emergen)n(t)g(Net-)140 2440 y(w)n(ork.)39 b(In)27 b
+Ft(Pe)l(er-to-Pe)l(er)32 b(Systems:)e(First)g(International)g
+(Workshop,)g(ITPTS)f(2002)p Fv(,)140 2531 y(pages)d(104{110.)j
+(Springer-V)-6 b(erlag)26 b(Heidelb)r(erg,)g(Jan)n(uary)g(2002.)p
+Black Black eop end
 %%Trailer
 
 userdict /end-hook known{end-hook}if

Modified: GNUnet-docs/papers/ecrs/main.tex
===================================================================
--- GNUnet-docs/papers/ecrs/main.tex    2005-08-19 21:33:23 UTC (rev 1758)
+++ GNUnet-docs/papers/ecrs/main.tex    2005-08-19 21:47:43 UTC (rev 1759)
@@ -613,14 +613,14 @@
 \begin{figure*}[t]
 \begin{center}
 \small
address@hidden 
address@hidden 
   &&&& KBlock\ar[d] &&&&\\
   &&&& address@hidden>}[d]\ar[drrr] &&&& \\
   & address@hidden>}[d]\ar[dr] &&& 
address@hidden>address@hidden>address@hidden>}[dr] &&& 
     address@hidden>}[d]\ar[dr] & \\
   DBlock_1\ar[dd]+<0cm,0.25cm> & address@hidden>}[dd]+<0cm,0.25cm> & 
DBlock_{l}\ar[dd]+<0cm,0.25cm>&& address@hidden>}[dd]+<0cm,0.25cm> 
   && DBlock_{m}\ar[dd]+<0cm,0.25cm> & address@hidden>}[dd]+<0cm,0.25cm> & 
DBlock_{n}\ar[dd]+<0cm,0.25cm> \\
-  &&&& \save[d]*+[F]{\texttt{\hspace*{4.5cm} Original data \hspace*{4.5cm}}} 
\restore &&&& \\ % FIXME: put this in a box and across all rows!
+  &&&& \save[d]*+[F]{\texttt{\hspace*{4.3cm} Original data \hspace*{4.3cm}}} 
\restore &&&& \\ % FIXME: put this in a box and across all rows!
   &&&& &&&& \\
 } % FIXME: replace solid arrows with dotted arrows for dotted targets!
 \caption{Simple encoding of a file using a tree of CHK blocks 
@@ -1025,9 +1025,34 @@
 build navigable structures similar to file systems or the World Wide
 Web.  In particular it is possible to refer to contents of other users
 and even to files or directories that are supposed to be published in
-the future.
+the future.  Figure~\ref{fig:network} illustrates some of the possible
+reference relationships between the various constructs.
 
 
+\begin{figure*}[t]
+\begin{center}
+\small
address@hidden
+  *+[F]{SBlock(\underline{Alice})}  {\ar@/_/[rr]} & & Directory_1 
{\ar@/_/[ll]}  address@hidden>}[dll]} address@hidden>}[dl]} 
address@hidden>}[d]}  & *+[F]{KBlock(``food)} address@hidden>}[l]} \\ 
+  *+[F]{SBlock(\underline{Bob})}  address@hidden>}[dr]} & 
*+[F]{KBlock(``soda'')} address@hidden>}[d]} & *+[F]{KBlock(``soda'')} 
address@hidden>}[d]}  & *+[F]{KBlock(``cola'')} address@hidden>}[dl]} \\
+  *+[F]{KBlock(``bob'')} address@hidden>}[u]} & Document_1  & Document_2 & 
Document_3 \\
+} 
+\caption{
+ECRS allows the formation of complicated network structures.  In this
+example, the {\em SBlock} of pseudonym \underline{\it {Alice}}
+eventually allows to retrieve two of the documents encoded in the
+system, as does {\em Kblock} for keyword ``food.  Boxes
+denote simple blocks that serve as entry-points.  The directory and
+the documents consist of a tree of possibly many CHK-encoded blocks.
+Searching for keyword ``soda'' would return two results pointing
+to different resources.  Note that all the encoded resources,
+including the one document with no pointers to it, can be retrieved by
+knowing the CHK keys of their root {\em IBlock}s. }
+\label{fig:network}
+\end{center}
+\end{figure*}
+
+
 \subsection{Efficient lookups with bloom filters}
 
 Given that a query only requires the transmission of a hash code, the





reply via email to

[Prev in Thread] Current Thread [Next in Thread]