From 9048936719a6ec2308384c4c2f29f84db510c08a Mon Sep 17 00:00:00 2001 From: Brian Warner <warner@allmydata.com> Date: Mon, 23 Apr 2007 18:25:26 -0700 Subject: [PATCH] docs: add a bunch of .svg pictures --- docs/file-encoding1.svg | 481 +++++++++++++++++++++ docs/file-encoding2.svg | 920 ++++++++++++++++++++++++++++++++++++++++ docs/file-encoding3.svg | 484 +++++++++++++++++++++ docs/file-encoding4.svg | 536 +++++++++++++++++++++++ docs/file-encoding5.svg | 585 +++++++++++++++++++++++++ docs/file-encoding6.svg | 760 +++++++++++++++++++++++++++++++++ docs/subtree1.svg | 337 +++++++++++++++ docs/subtree2.svg | 361 ++++++++++++++++ docs/subtree3.svg | 393 +++++++++++++++++ docs/subtree4.svg | 468 ++++++++++++++++++++ 10 files changed, 5325 insertions(+) create mode 100644 docs/file-encoding1.svg create mode 100644 docs/file-encoding2.svg create mode 100644 docs/file-encoding3.svg create mode 100644 docs/file-encoding4.svg create mode 100644 docs/file-encoding5.svg create mode 100644 docs/file-encoding6.svg create mode 100644 docs/subtree1.svg create mode 100644 docs/subtree2.svg create mode 100644 docs/subtree3.svg create mode 100644 docs/subtree4.svg diff --git a/docs/file-encoding1.svg b/docs/file-encoding1.svg new file mode 100644 index 00000000..0e14f396 --- /dev/null +++ b/docs/file-encoding1.svg @@ -0,0 +1,481 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.44.1" + sodipodi:docbase="/home/warner/work/tahoe-misc" + sodipodi:docname="file-encoding1.svg"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path2976" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.51883278" + inkscape:cx="372.04724" + inkscape:cy="526.18109" + inkscape:document-units="px" + inkscape:current-layer="layer1" + inkscape:window-width="900" + inkscape:window-height="756" + inkscape:window-x="768" + inkscape:window-y="178" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <g + id="g3081"> + <rect + y="17.505058" + x="210.76614" + height="78.85553" + width="305.95944" + id="rect1872" + style="fill:#e3f4d7;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text1874" + y="44.315933" + x="258.83313" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="44.315933" + x="258.83313" + id="tspan3079" + sodipodi:role="line">FILE (plaintext)</tspan></text> + </g> + <g + id="g3103" + transform="translate(9.594112,0)"> + <rect + y="156.86679" + x="14.903192" + height="40.479816" + width="137.80923" + id="rect1883" + style="fill:#e3f4d7;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text1885" + y="181.2227" + x="19.065027" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="181.2227" + x="19.065027" + id="tspan3052" + sodipodi:role="line">"allmydata_fileid_v1"</tspan></text> + </g> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="174.68474" + y="183.0667" + id="text1894" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan1896" + x="174.68474" + y="183.0667">+</tspan></text> + <rect + style="fill:none;stroke:black;stroke-opacity:1" + id="rect2802" + width="505.75876" + height="93.121315" + x="12.69276" + y="132.40248" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 519.45152,176.18801 L 651.44976,176.18801" + id="path2804" + sodipodi:nodetypes="cc" /> + <g + id="g2989" + transform="matrix(0.923205,0,0,0.923205,41.82841,25.82025)"> + <path + transform="translate(-27.43576,-32.74591)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path1904" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text2793" + y="169.1078" + x="558.45044" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="169.1078" + x="558.45044" + id="tspan2795" + sodipodi:role="line">SHA-1</tspan></text> + </g> + <g + id="g3000" + transform="translate(-3.540098,-4.425122)"> + <rect + y="152.29236" + x="657.57312" + height="56.641563" + width="77.882149" + id="rect2994" + style="fill:#d5f6ff;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2996" + y="186.49313" + x="673.06122" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="186.49313" + x="673.06122" + id="tspan2998" + sodipodi:role="line">fileid</tspan></text> + </g> + <g + id="g3098" + transform="translate(-8.268075,4.550756)"> + <rect + style="fill:#e3f4d7;stroke:black;stroke-width:1.19514322;stroke-opacity:1" + id="rect3007" + width="197.79575" + height="40.284672" + x="17.681271" + y="284.16595" /> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="20.760191" + y="306.9263" + id="text3009" + sodipodi:linespacing="100%"><tspan + y="306.9263" + x="20.760191" + id="tspan3054" + sodipodi:role="line">"allmydata_encryption_key_v1"</tspan></text> + </g> + <text + sodipodi:linespacing="100%" + id="text3013" + y="314.81906" + x="210.3999" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="314.81906" + x="210.3999" + id="tspan3015" + sodipodi:role="line">+</tspan></text> + <rect + y="264.15482" + x="4.338717" + height="94.977722" + width="516.89746" + id="rect3019" + style="fill:none;stroke:black;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + id="path3021" + d="M 522.23618,308.85904 L 651.44974,308.85904" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <g + transform="matrix(0.923205,0,0,0.923205,41.82841,158.4913)" + id="g3023"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3025" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="translate(-27.43576,-32.74591)" /> + <text + xml:space="preserve" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="558.45044" + y="169.1078" + id="text3027" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3029" + x="558.45044" + y="169.1078">SHA-1</tspan></text> + </g> + <g + id="g3230"> + <rect + style="fill:#d5f6ff;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3033" + width="77.882149" + height="56.641563" + x="657.67255" + y="280.53827" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="663.15704" + y="314.73904" + id="text3035" + sodipodi:linespacing="100%"><tspan + y="314.73904" + x="663.15704" + id="tspan3047" + sodipodi:role="line">enc key</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 304.08143,97.858852 L 304.08143,137.56556" + id="path3056" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 373.90073,96.940177 L 372.98205,270.77344" + id="path3058" + sodipodi:nodetypes="cc" /> + <g + id="g3139" + transform="translate(7.509642,-1.469055)"> + <path + transform="matrix(0.923205,0,0,0.923205,-231.4625,247.6493)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3128" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3130" + y="434.10446" + x="299.26846" + style="font-size:14.77128029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="434.10446" + x="299.26846" + id="tspan3137" + sodipodi:role="line">AES-CTR</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 696.13072,338.78227 C 686.69032,403.34812 552.13956,419.69239 372.86158,426.02821" + id="path3144" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 335.20807,98.167169 L 337.04482,394.80335" + id="path3146" /> + <use + x="0" + y="0" + xlink:href="#use3094" + id="use3096" + transform="matrix(0.937151,0,0,1,38.50134,131.7604)" + width="744.09448" + height="1052.3622" /> + <use + x="0" + y="0" + xlink:href="#g3081" + id="use3094" + transform="translate(-6.396075,121.9744)" + width="744.09448" + height="1052.3622" /> + <g + id="g3201"> + <rect + style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1" + id="rect3154" + width="286.73019" + height="78.85553" + x="196.96533" + y="521.95709" /> + <text + transform="scale(0.968066,1.032988)" + xml:space="preserve" + style="font-size:27.10585976px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="249.83606" + y="531.24384" + id="text3156" + sodipodi:linespacing="100%"><tspan + y="531.24384" + x="249.83606" + id="tspan3163" + sodipodi:role="line">FILE (crypttext)</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 337.9632,459.08983 L 337.9632,518.78442" + id="path3170" + sodipodi:nodetypes="cc" /> + <rect + style="fill:#e3f4d7;stroke:black;stroke-width:1.19514322;stroke-opacity:1" + id="rect3195" + width="166.57086" + height="33.855904" + x="24.107248" + y="704.99011" /> + <text + xml:space="preserve" + style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="30.85968" + y="721.01257" + id="text3197" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3246" + x="30.85968" + y="721.01257">"allmydata_verifierid_v1"</tspan></text> + <g + id="g3206" + transform="matrix(0.897851,0,0,1,60.47902,157.32)"> + <rect + y="521.95709" + x="196.96533" + height="78.85553" + width="286.73019" + id="rect3208" + style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3210" + y="531.24384" + x="249.83606" + style="font-size:27.10585976px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve" + transform="scale(0.968066,1.032988)"><tspan + sodipodi:role="line" + id="tspan3212" + x="249.83606" + y="531.24384">FILE (crypttext)</tspan></text> + </g> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="205.80801" + y="722.85657" + id="text3214" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3216" + x="205.80801" + y="722.85657">+</tspan></text> + <rect + style="fill:none;stroke:black;stroke-opacity:1" + id="rect3218" + width="486.59097" + height="96.814476" + x="16.277634" + y="669.40771" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 502.95024,718.70387 L 632.1638,718.70387" + id="path3220" + sodipodi:nodetypes="cc" /> + <g + id="g3222" + transform="matrix(0.923205,0,0,0.923205,22.54247,568.3362)"> + <path + transform="translate(-27.43576,-32.74591)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3224" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3226" + y="169.1078" + x="558.45044" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="169.1078" + x="558.45044" + id="tspan3228" + sodipodi:role="line">SHA-1</tspan></text> + </g> + <g + id="g3255" + transform="translate(0,44.33028)"> + <rect + y="644.21606" + x="634.71307" + height="55.723186" + width="100.84161" + id="rect3237" + style="fill:#d5f6ff;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3239" + y="677.95764" + x="642.83234" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="677.95764" + x="642.83234" + id="tspan3251" + sodipodi:role="line">verifierid</tspan><tspan + y="697.95764" + x="642.83234" + id="tspan3253" + sodipodi:role="line"></tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 338.98999,601.06036 L 338.98999,678.72836" + id="path3261" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/docs/file-encoding2.svg b/docs/file-encoding2.svg new file mode 100644 index 00000000..c1143b25 --- /dev/null +++ b/docs/file-encoding2.svg @@ -0,0 +1,920 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.44.1" + sodipodi:docbase="/home/warner/work/tahoe-misc" + sodipodi:docname="file-encoding2.svg"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path2976" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.51978303" + inkscape:cx="372.04724" + inkscape:cy="526.18109" + inkscape:document-units="px" + inkscape:current-layer="layer1" + inkscape:window-width="900" + inkscape:window-height="756" + inkscape:window-x="792" + inkscape:window-y="170" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <g + id="g3201" + transform="translate(-5.78221,-477.996)"> + <rect + style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1" + id="rect3154" + width="286.73019" + height="78.85553" + x="196.96533" + y="521.95709" /> + <text + transform="scale(0.968066,1.032988)" + xml:space="preserve" + style="font-size:27.10585976px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="249.83606" + y="531.24384" + id="text3156" + sodipodi:linespacing="100%"><tspan + y="531.24384" + x="249.83606" + id="tspan3163" + sodipodi:role="line">FILE (crypttext)</tspan></text> + </g> + <g + id="g2022"> + <rect + y="214.548" + x="40.845631" + height="80.782936" + width="80.498047" + id="rect3273" + style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3275" + y="255.87878" + x="56.581703" + style="font-size:27.99999214;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve" + transform="scale(0.968066,1.032988)"><tspan + y="255.87878" + x="56.581703" + id="tspan1993" + sodipodi:role="line">segA</tspan></text> + </g> + <g + id="g2017"> + <rect + style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1" + id="rect3284" + width="80.498047" + height="80.782936" + x="161.45784" + y="214.548" /> + <text + transform="scale(0.968066,1.032988)" + xml:space="preserve" + style="font-size:28;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="184.53419" + y="251.69087" + id="text3286" + sodipodi:linespacing="100%"><tspan + y="251.69087" + x="184.53419" + id="tspan1995" + sodipodi:role="line">segB</tspan></text> + </g> + <g + id="g2012"> + <rect + y="214.548" + x="282.07007" + height="80.782936" + width="80.498047" + id="rect3290" + style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3292" + y="253.62892" + x="304.44913" + style="font-size:27.99999214;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve" + transform="scale(0.968066,1.032988)"><tspan + y="253.62892" + x="304.44913" + id="tspan1997" + sodipodi:role="line">segC</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 223.51231,125.60384 L 88.587195,212.82815" + id="path4243" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 297.10782,124.24096 L 205.79487,215.55391" + id="path4245" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 373.4291,122.87808 L 325.7283,212.82816" + id="path4247" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 458.9333,124.24096 L 443.56317,216.05143" + id="path4249" + sodipodi:nodetypes="cc" /> + <rect + y="214.548" + x="422.02194" + height="80.782951" + width="61.22403" + id="rect3296" + style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3298" + y="253.42572" + x="440.45892" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve" + transform="scale(0.968066,1.032988)"><tspan + sodipodi:role="line" + id="tspan1999" + x="440.45892" + y="253.42572">segD</tspan></text> + <rect + style="fill:white;fill-opacity:1;stroke:black;stroke-width:0.96806562;stroke-opacity:1" + id="rect3308" + width="32.312965" + height="80.782936" + x="484.21405" + y="214.548" /> + <g + id="g2040" + transform="translate(-16.41804,-13.31249)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path2029" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.923205,0,0,0.923205,-463.3983,190.6491)" /> + <text + xml:space="preserve" + style="font-size:14.77128029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="84.763" + y="377.10425" + id="text2031" + sodipodi:linespacing="100%"><tspan + y="377.10425" + x="84.763" + id="tspan2038" + sodipodi:role="line">FEC</tspan></text> + </g> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect2045" + width="62.568695" + height="54.581161" + x="106.49989" + y="400.05042" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="114.42955" + y="424.05099" + id="text2932" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan2934" + x="114.42955" + y="424.05099">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="126.88751" + y="445.35098" + id="text2936" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan2938" + x="126.88751" + y="445.35098">A1</tspan></text> + <rect + ry="0" + y="471.49408" + x="106.49989" + height="54.581161" + width="62.568695" + id="rect2956" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2960" + y="495.49466" + x="114.42955" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="495.49466" + x="114.42955" + id="tspan2962" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2964" + y="516.79468" + x="126.88751" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3018" + x="126.88751" + y="516.79468">A2</tspan></text> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect2970" + width="62.568695" + height="54.581161" + x="106.49989" + y="542.93781" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="114.42955" + y="566.93835" + id="text2974" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan2976" + x="114.42955" + y="566.93835">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="126.88751" + y="588.23834" + id="text2978" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3040" + x="126.88751" + y="588.23834">A3</tspan></text> + <rect + ry="0" + y="614.38141" + x="106.49989" + height="54.581161" + width="62.568695" + id="rect2984" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2988" + y="638.38196" + x="114.42955" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="638.38196" + x="114.42955" + id="tspan2990" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2992" + y="659.68195" + x="126.88751" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3042" + x="126.88751" + y="659.68195">A4</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 79.874914,296.213 L 79.874914,326.83172" + id="path2996" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 90.524902,388.06915 C 85.442028,403.37176 95.420905,411.5033 105.16864,424.01286" + id="path3000" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 82.537411,389.4004 C 77.419162,441.79407 81.801856,464.47336 103.83739,495.90028" + id="path3002" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 71.887422,389.4004 C 62.3162,464.27336 66.595451,538.86154 105.16864,573.1127" + id="path3004" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 59.906185,384.0754 C 30.833264,497.98462 73.280777,611.91471 105.16864,643.66887" + id="path3006" + sodipodi:nodetypes="cc" /> + <g + transform="translate(114.1248,-13.31249)" + id="g3090"> + <path + transform="matrix(0.923205,0,0,0.923205,-463.3983,190.6491)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3092" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3094" + y="377.10425" + x="84.763" + style="font-size:14.77128029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3096" + x="84.763" + y="377.10425">FEC</tspan></text> + </g> + <rect + ry="0" + y="400.05042" + x="237.04271" + height="54.581161" + width="62.568695" + id="rect3098" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3100" + y="424.05099" + x="244.97237" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="424.05099" + x="244.97237" + id="tspan3102" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text3104" + y="445.35098" + x="257.43033" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3266" + x="257.43033" + y="445.35098">B1</tspan></text> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3108" + width="62.568695" + height="54.581161" + x="237.04271" + y="471.49408" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="244.97237" + y="495.49466" + id="text3110" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3112" + x="244.97237" + y="495.49466">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="257.43033" + y="516.79468" + id="text3114" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3268" + x="257.43033" + y="516.79468">B2</tspan></text> + <rect + ry="0" + y="542.93781" + x="237.04271" + height="54.581161" + width="62.568695" + id="rect3118" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3120" + y="566.93835" + x="244.97237" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="566.93835" + x="244.97237" + id="tspan3122" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text3124" + y="588.23834" + x="257.43033" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3270" + x="257.43033" + y="588.23834">B3</tspan></text> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3128" + width="62.568695" + height="54.581161" + x="237.04271" + y="614.38141" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="244.97237" + y="638.38196" + id="text3130" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3132" + x="244.97237" + y="638.38196">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="257.43033" + y="659.68195" + id="text3134" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3272" + x="257.43033" + y="659.68195">B4</tspan></text> + <path + id="path3138" + d="M 210.41773,296.213 L 210.41773,326.83172" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + id="path3140" + d="M 221.06772,388.06915 C 215.98484,403.37176 225.96372,411.5033 235.71146,424.01286" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + id="path3142" + d="M 213.08023,389.4004 C 207.96198,441.79407 212.34467,464.47336 234.38021,495.90028" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + id="path3144" + d="M 202.43024,389.4004 C 192.85902,464.27336 197.13827,538.86154 235.71146,573.1127" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + id="path3146" + d="M 190.449,384.0754 C 161.37608,497.98462 203.82359,611.91471 235.71146,643.66887" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <g + id="g3148" + transform="translate(241.4443,-13.31249)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3150" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.923205,0,0,0.923205,-463.3983,190.6491)" /> + <text + xml:space="preserve" + style="font-size:14.77128029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="84.763" + y="377.10425" + id="text3152" + sodipodi:linespacing="100%"><tspan + y="377.10425" + x="84.763" + id="tspan3154" + sodipodi:role="line">FEC</tspan></text> + </g> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3156" + width="62.568695" + height="54.581161" + x="364.36224" + y="400.05042" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="372.2919" + y="424.05099" + id="text3158" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3160" + x="372.2919" + y="424.05099">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="384.74988" + y="445.35098" + id="text3162" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3274" + x="384.74988" + y="445.35098">C1</tspan></text> + <rect + ry="0" + y="471.49408" + x="364.36224" + height="54.581161" + width="62.568695" + id="rect3166" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3168" + y="495.49466" + x="372.2919" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="495.49466" + x="372.2919" + id="tspan3170" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text3172" + y="516.79468" + x="384.74988" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3278" + x="384.74988" + y="516.79468">C2</tspan></text> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3176" + width="62.568695" + height="54.581161" + x="364.36224" + y="542.93781" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="372.2919" + y="566.93835" + id="text3178" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3180" + x="372.2919" + y="566.93835">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="384.74988" + y="588.23834" + id="text3182" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3280" + x="384.74988" + y="588.23834">C3</tspan></text> + <rect + ry="0" + y="614.38141" + x="364.36224" + height="54.581161" + width="62.568695" + id="rect3186" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3188" + y="638.38196" + x="372.2919" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="638.38196" + x="372.2919" + id="tspan3190" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text3192" + y="659.68195" + x="384.74988" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3282" + x="384.74988" + y="659.68195">C4</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 337.73727,296.213 L 337.73727,326.83172" + id="path3196" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 348.38726,388.06915 C 343.30438,403.37176 353.28326,411.5033 363.031,424.01286" + id="path3198" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 340.39977,389.4004 C 335.28152,441.79407 339.66421,464.47336 361.69975,495.90028" + id="path3200" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 329.74978,389.4004 C 320.17856,464.27336 324.45781,538.86154 363.031,573.1127" + id="path3202" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 317.76854,384.0754 C 288.69562,497.98462 331.14313,611.91471 363.031,643.66887" + id="path3204" + sodipodi:nodetypes="cc" /> + <g + transform="translate(370.3755,-13.31249)" + id="g3207"> + <path + transform="matrix(0.923205,0,0,0.923205,-463.3983,190.6491)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3209" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3211" + y="377.10425" + x="84.763" + style="font-size:14.77128029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3213" + x="84.763" + y="377.10425">FEC</tspan></text> + </g> + <rect + ry="0" + y="400.05042" + x="493.29343" + height="54.581161" + width="62.568695" + id="rect3215" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3217" + y="424.05099" + x="501.22308" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="424.05099" + x="501.22308" + id="tspan3219" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text3221" + y="445.35098" + x="513.68103" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3284" + x="513.68103" + y="445.35098">D1</tspan></text> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3225" + width="62.568695" + height="54.581161" + x="493.29343" + y="471.49408" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="501.22308" + y="495.49466" + id="text3227" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3229" + x="501.22308" + y="495.49466">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="513.68103" + y="516.79468" + id="text3231" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3286" + x="513.68103" + y="516.79468">D2</tspan></text> + <rect + ry="0" + y="542.93781" + x="493.29343" + height="54.581161" + width="62.568695" + id="rect3235" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3237" + y="566.93835" + x="501.22308" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="566.93835" + x="501.22308" + id="tspan3239" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text3241" + y="588.23834" + x="513.68103" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3288" + x="513.68103" + y="588.23834">D3</tspan></text> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3245" + width="62.568695" + height="54.581161" + x="493.29343" + y="614.38141" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="501.22308" + y="638.38196" + id="text3247" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3249" + x="501.22308" + y="638.38196">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="513.68103" + y="659.68195" + id="text3251" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3293" + x="513.68103" + y="659.68195">D4</tspan></text> + <path + id="path3256" + d="M 466.66845,296.213 L 466.66845,326.83172" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + id="path3258" + d="M 477.31844,388.06915 C 472.23556,403.37176 482.21444,411.5033 491.96218,424.01286" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + id="path3260" + d="M 469.33095,389.4004 C 464.2127,441.79407 468.59539,464.47336 490.63093,495.90028" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + id="path3262" + d="M 458.68096,389.4004 C 449.10974,464.27336 453.38899,538.86154 491.96218,573.1127" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + id="path3264" + d="M 446.69972,384.0754 C 417.6268,497.98462 460.07431,611.91471 491.96218,643.66887" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <rect + style="fill:none;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3831" + width="516.80328" + height="103.59095" + x="66.758537" + y="604.61957" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="80.570648" + y="700.15332" + id="text3833" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3835" + x="80.570648" + y="700.15332">share4</tspan></text> + <rect + style="fill:#ffd5f6;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3837" + width="95.533775" + height="81.721664" + x="631.90411" + y="640.30084" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="650.27539" + y="660.8269" + id="text3839" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3841" + x="650.27539" + y="660.8269">peer 4</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 582.41071,673.68012 C 631.90411,677.13315 631.90411,677.13315 631.90411,677.13315" + id="path3843" /> + </g> +</svg> diff --git a/docs/file-encoding3.svg b/docs/file-encoding3.svg new file mode 100644 index 00000000..c18c3438 --- /dev/null +++ b/docs/file-encoding3.svg @@ -0,0 +1,484 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.44.1" + sodipodi:docbase="/home/warner/work/tahoe-misc" + sodipodi:docname="file-encoding3.svg"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path2976" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.523584" + inkscape:cx="372.04724" + inkscape:cy="526.18109" + inkscape:document-units="px" + inkscape:current-layer="layer1" + inkscape:window-width="900" + inkscape:window-height="756" + inkscape:window-x="778" + inkscape:window-y="96" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <g + id="g3308" + transform="translate(-492.4404,-287.9192)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3297" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text3299" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan3306" + sodipodi:role="line">SHA</tspan></text> + </g> + <g + transform="translate(-361.8975,-287.9192)" + id="g3313"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3315" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3317" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3319" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <g + id="g3321" + transform="translate(-427.1689,-180.8987)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3323" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text3325" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan3327" + sodipodi:role="line">SHA</tspan></text> + </g> + <g + transform="translate(-298.6406,-78.23132)" + id="g3329"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3331" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3333" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3335" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <g + transform="translate(-234.578,-287.9192)" + id="g3345"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3347" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3349" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3351" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <g + id="g3353" + transform="translate(-170.1124,-180.8987)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3355" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text3357" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan3359" + sodipodi:role="line">SHA</tspan></text> + </g> + <g + transform="translate(-105.6468,-287.9192)" + id="g3361"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3363" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3365" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3367" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <rect + ry="0" + y="47.720215" + x="76.855522" + height="54.581161" + width="62.568695" + id="rect2984" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2988" + y="71.720772" + x="84.785179" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="71.720772" + x="84.785179" + id="tspan2990" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2992" + y="93.020752" + x="97.243141" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3042" + x="97.243141" + y="93.020752">A4</tspan></text> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3128" + width="62.568695" + height="54.581161" + x="207.39835" + y="47.720215" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="215.328" + y="71.720772" + id="text3130" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3132" + x="215.328" + y="71.720772">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="227.78596" + y="93.020752" + id="text3134" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3272" + x="227.78596" + y="93.020752">B4</tspan></text> + <rect + ry="0" + y="47.720215" + x="334.7179" + height="54.581161" + width="62.568695" + id="rect3186" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3188" + y="71.720772" + x="342.64755" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="71.720772" + x="342.64755" + id="tspan3190" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text3192" + y="93.020752" + x="355.10553" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3282" + x="355.10553" + y="93.020752">C4</tspan></text> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3245" + width="62.568695" + height="54.581161" + x="463.64905" + y="47.720215" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="471.5787" + y="71.720772" + id="text3247" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3249" + x="471.5787" + y="71.720772">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="484.03665" + y="93.020752" + id="text3251" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3293" + x="484.03665" + y="93.020752">D4</tspan></text> + <rect + style="fill:none;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3831" + width="516.80328" + height="491.99808" + x="37.114162" + y="37.958374" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="44.343109" + y="521.89929" + id="text3833" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3835" + x="44.343109" + y="521.89929">share4</tspan></text> + <rect + style="fill:#ffd5f6;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3837" + width="95.533775" + height="81.721664" + x="602.25977" + y="73.639648" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="620.63104" + y="94.16571" + id="text3839" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3841" + x="620.63104" + y="94.16571">peer 4</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 552.76635,107.01893 C 602.25975,110.47196 602.25975,110.47196 602.25975,110.47196" + id="path3843" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 106.27121,102.50451 L 108.15211,173.97895" + id="path2431" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 238.8751,102.50451 L 237.93464,173.03849" + id="path2433" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 366.77673,103.44496 L 366.77673,172.09804" + id="path2435" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 495.61881,103.44496 L 495.61881,173.03849" + id="path2437" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 489.97609,208.77571 L 438.25116,282.13106" + id="path2439" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 370.53854,207.83526 L 420.38255,282.13106" + id="path2441" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 236.05374,209.71617 L 183.38836,284.01197" + id="path2443" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 110.97347,207.83526 L 164.5793,282.13106" + id="path2445" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 178.6861,315.98737 L 289.65957,388.40226" + id="path2447" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 426.02527,315.98737 L 316.93271,389.34272" + id="path2449" /> + <rect + style="fill:none;fill-opacity:1;stroke:blue;stroke-opacity:1" + id="rect3336" + width="474.92883" + height="334.80142" + x="61.129456" + y="140.12263" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="241.69646" + y="263.32199" + id="text3338" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3340" + x="241.69646" + y="263.32199">Merkle Tree</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="68.653069" + y="466.45987" + id="text3342" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3344" + x="68.653069" + y="466.45987">subshare hash tree</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="321.63498" + y="405.33044" + id="text3346" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3352" + x="321.63498" + y="405.33044">"subshare root hash"</tspan></text> + </g> +</svg> diff --git a/docs/file-encoding4.svg b/docs/file-encoding4.svg new file mode 100644 index 00000000..d2a3ad12 --- /dev/null +++ b/docs/file-encoding4.svg @@ -0,0 +1,536 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.44.1" + sodipodi:docbase="/home/warner/work/tahoe-misc" + sodipodi:docname="file-encoding4.svg"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path2976" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.0116408" + inkscape:cx="361.42358" + inkscape:cy="705.38017" + inkscape:document-units="px" + inkscape:current-layer="layer1" + inkscape:window-width="900" + inkscape:window-height="756" + inkscape:window-x="333" + inkscape:window-y="168" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="212.25175" + y="109.45165" + id="text3632" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3634" + x="212.25175" + y="109.45165">subshare</tspan><tspan + sodipodi:role="line" + x="212.25175" + y="129.45165" + id="tspan3636">root hashes</tspan></text> + <g + id="g3642" + transform="translate(-226.712,-129.0765)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3644" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text3646" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan3648" + sodipodi:role="line">SHA</tspan></text> + </g> + <g + id="g3675" + transform="translate(175.712,7.63966)"> + <path + transform="matrix(0.511994,0,0,0.511994,-233.9701,54.30905)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3331" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3653" + y="160.03162" + x="68.92907" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="160.03162" + x="68.92907" + id="tspan3655" + sodipodi:role="line">s1</tspan></text> + </g> + <g + id="g3686" + transform="translate(175.712,2.282887)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3657" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,-231.4293,132.056)" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="68.029869" + y="239.32857" + id="text3659" + sodipodi:linespacing="100%"><tspan + y="239.32857" + x="68.029869" + id="tspan3680" + sodipodi:role="line">s2</tspan></text> + </g> + <g + id="g3691" + transform="translate(175.712,0.186429)"> + <path + transform="matrix(0.511994,0,0,0.511994,-229.5194,206.5426)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3663" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3665" + y="313.49518" + x="70.729767" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="313.49518" + x="70.729767" + id="tspan3682" + sodipodi:role="line">s3</tspan></text> + </g> + <g + id="g3696" + transform="translate(175.712,7.639653)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3669" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,-229.5194,271.4796)" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="72.669769" + y="377.16217" + id="text3671" + sodipodi:linespacing="100%"><tspan + y="377.16217" + x="72.669769" + id="tspan3684" + sodipodi:role="line">s4</tspan></text> + </g> + <g + transform="translate(-228.8541,-284.0256)" + id="g3701"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3703" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3705" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3707" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <g + transform="translate(-110.3217,-218.3329)" + id="g3709"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3711" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3713" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3715" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 270.6808,165.29588 L 353.51073,189.57362" + id="path3717" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 272.10891,234.55883 C 275.67916,233.13073 354.22478,203.14059 354.22478,203.14059" + id="path3719" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 274.96511,307.39204 L 356.36693,341.66649" + id="path3721" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 275.67916,379.51119 L 355.65288,358.80371" + id="path3723" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 390.64138,347.3789 L 473.4713,271.68949" + id="path3725" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 389.92733,198.14223 L 472.75725,253.12416" + id="path3727" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="82.126266" + y="105.04523" + id="text4615" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan4617" + x="82.126266" + y="105.04523">shares</tspan></text> + <g + id="g4662" + transform="translate(0,-7.629395e-6)"> + <rect + ry="0" + y="131.23222" + x="69.941055" + height="62.310936" + width="88.076958" + id="rect3245" + style="fill:#aa87de;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text4619" + y="167.66769" + x="84.927971" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="167.66769" + x="84.927971" + id="tspan4621" + sodipodi:role="line">share1</tspan></text> + </g> + <g + id="g4657" + transform="translate(-0.77298,-0.515305)"> + <rect + style="fill:#aa87de;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect4623" + width="88.076958" + height="62.310936" + x="70.714035" + y="203.11914" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="85.700951" + y="239.55461" + id="text4625" + sodipodi:linespacing="100%"><tspan + y="239.55461" + x="85.700951" + id="tspan4641" + sodipodi:role="line">share2</tspan></text> + </g> + <g + id="g4652" + transform="translate(-3.864891,1.288307)"> + <rect + ry="0" + y="272.68713" + x="73.805946" + height="62.310936" + width="88.076958" + id="rect4629" + style="fill:#aa87de;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text4631" + y="309.12259" + x="88.792862" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="309.12259" + x="88.792862" + id="tspan4643" + sodipodi:role="line">share3</tspan></text> + </g> + <g + id="g4647" + transform="translate(-4.637871,0)"> + <rect + style="fill:#aa87de;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect4635" + width="88.076958" + height="62.310936" + x="74.578926" + y="345.34702" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="89.565842" + y="381.78247" + id="text4637" + sodipodi:linespacing="100%"><tspan + y="381.78247" + x="89.565842" + id="tspan4645" + sodipodi:role="line">share4</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" + d="M 159.23338,161.89201 L 234.98518,160.34605" + id="path4667" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" + d="M 159.23338,233.77892 L 236.53114,233.00595" + id="path4669" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" + d="M 160.77934,304.11988 L 239.62305,305.66584" + id="path4671" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" + d="M 158.4604,374.46084 L 238.85007,377.55275" + id="path4673" /> + <rect + style="fill:none;fill-opacity:1;stroke:blue;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect5560" + width="451.25253" + height="376.15237" + x="201.65356" + y="75.152138" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="320.79318" + y="271.27441" + id="text3338" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3340" + x="320.79318" + y="271.27441">Merkle Tree</tspan></text> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="211.74399" + y="441.22202" + id="text3342" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan7495" + x="211.74399" + y="441.22202">share hash tree</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="495.05698" + y="240.97345" + id="text5566" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan5568" + x="495.05698" + y="240.97345">"share root hash"</tspan></text> + <rect + style="fill:#d5f6ff;fill-opacity:1;stroke:black;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect8042" + width="372.43307" + height="126.05428" + x="252.10855" + y="492.7576" /> + <text + xml:space="preserve" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="267.38785" + y="521.40631" + id="text8044" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan8046" + x="267.38785" + y="521.40631">URI</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="299.5795" + y="561.26575" + id="text8048" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan8050" + x="299.5795" + y="561.26575">fileid</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="295.2998" + y="596.57336" + id="text8052" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan8054" + x="295.2998" + y="596.57336">verifierid</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="439.73993" + y="598.7132" + id="text8056" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan8058" + x="439.73993" + y="598.7132">encryption key</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="430.11057" + y="558.05597" + id="text8060" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan8062" + x="430.11057" + y="558.05597">share root hash</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 491.09641,278.8051 L 506.07538,537.72738" + id="path8064" /> + <rect + style="fill:none;fill-opacity:1;stroke:black;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect8066" + width="64.19561" + height="31.027878" + x="291.02008" + y="538.7973" /> + <rect + y="576.24475" + x="291.02008" + height="27.818098" + width="93.083633" + id="rect8068" + style="fill:none;fill-opacity:1;stroke:black;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <rect + style="fill:none;fill-opacity:1;stroke:black;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect8070" + width="162.62888" + height="31.027878" + x="420.48123" + y="536.65747" /> + <rect + y="574.10492" + x="434.39029" + height="36.37751" + width="148.71983" + id="rect8072" + style="fill:none;fill-opacity:1;stroke:black;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + </g> +</svg> diff --git a/docs/file-encoding5.svg b/docs/file-encoding5.svg new file mode 100644 index 00000000..7a5a78cf --- /dev/null +++ b/docs/file-encoding5.svg @@ -0,0 +1,585 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.44.1" + sodipodi:docbase="/home/warner/work/tahoe-misc" + sodipodi:docname="file-encoding5.svg"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path2976" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.79718499" + inkscape:cx="410.02658" + inkscape:cy="638.93685" + inkscape:document-units="px" + inkscape:current-layer="layer1" + inkscape:window-width="900" + inkscape:window-height="756" + inkscape:window-x="699" + inkscape:window-y="165" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="93.755287" + y="98.537506" + id="text3632" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3634" + x="93.755287" + y="98.537506">subshare</tspan><tspan + sodipodi:role="line" + x="93.755287" + y="118.53751" + id="tspan3636">root hashes</tspan></text> + <g + id="g3642" + transform="translate(-279.7236,-129.0765)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3644" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text3646" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan3648" + sodipodi:role="line">SHA</tspan></text> + </g> + <g + id="g3675" + transform="translate(63.82283,6.080481)"> + <path + transform="matrix(0.511994,0,0,0.511994,-233.9701,54.30905)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3331" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3653" + y="160.03162" + x="68.92907" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="160.03162" + x="68.92907" + id="tspan3655" + sodipodi:role="line">s1</tspan></text> + </g> + <g + id="g3686" + transform="translate(61.28203,2.918364)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3657" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,-231.4293,132.056)" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="68.029869" + y="239.32857" + id="text3659" + sodipodi:linespacing="100%"><tspan + y="239.32857" + x="68.029869" + id="tspan3680" + sodipodi:role="line">s2</tspan></text> + </g> + <g + id="g3691" + transform="translate(59.37213,3.016624)"> + <path + transform="matrix(0.511994,0,0,0.511994,-229.5194,206.5426)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3663" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3665" + y="313.49518" + x="70.729767" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="313.49518" + x="70.729767" + id="tspan3682" + sodipodi:role="line">s3</tspan></text> + </g> + <g + id="g3696" + transform="translate(59.37213,12.6645)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3669" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,-229.5194,271.4796)" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="72.669769" + y="377.16217" + id="text3671" + sodipodi:linespacing="100%"><tspan + y="377.16217" + x="72.669769" + id="tspan3684" + sodipodi:role="line">s4</tspan></text> + </g> + <g + transform="translate(-281.8657,-284.0256)" + id="g3701"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3703" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3705" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3707" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <g + transform="translate(-104.085,-218.3329)" + id="g3709"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3711" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3713" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3715" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 158.42099,162.17755 L 300.49915,189.57362" + id="path3717" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 162.96742,234.55883 C 166.53767,233.13073 301.2132,203.14059 301.2132,203.14059" + id="path3719" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 162.7053,312.06953 L 303.35535,341.66649" + id="path3721" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 160.30102,384.18868 L 302.6413,358.80371" + id="path3723" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 340.74813,350.49723 L 479.70796,268.57116" + id="path3725" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 341.59324,198.14223 L 480.55307,259.36082" + id="path3727" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="387.9295" + y="82.614281" + id="text3342" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan7297" + x="387.9295" + y="82.614281">share hash tree</tspan></text> + <g + transform="translate(-277.1965,175.8469)" + id="g6278"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path6280" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text6282" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan6284" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <g + id="g6374" + transform="translate(0,-6.583939)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path6288" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,-170.1473,365.3129)" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="130.1619" + y="471.03552" + id="text6290" + sodipodi:linespacing="100%"><tspan + y="471.03552" + x="130.1619" + id="tspan6366" + sodipodi:role="line">s5</tspan></text> + </g> + <g + id="g6379" + transform="translate(0,-4.389282)"> + <path + transform="matrix(0.511994,0,0,0.511994,-170.1473,437.7031)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path6296" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text6298" + y="544.97565" + x="130.2619" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="544.97565" + x="130.2619" + id="tspan6368" + sodipodi:role="line">s6</tspan></text> + </g> + <g + id="g6384" + transform="translate(0,-2.194656)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path6304" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,-170.1473,510.0933)" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="132.1519" + y="617.0459" + id="text6306" + sodipodi:linespacing="100%"><tspan + y="617.0459" + x="132.1519" + id="tspan6370" + sodipodi:role="line">s7</tspan></text> + </g> + <g + id="g6389"> + <path + transform="matrix(0.511994,0,0,0.511994,-170.1473,582.4835)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path6312" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text6314" + y="688.16608" + x="130.03189" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="688.16608" + x="130.03189" + id="tspan6372" + sodipodi:role="line">s8</tspan></text> + </g> + <g + id="g6318" + transform="translate(-279.3386,20.89783)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path6320" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text6322" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan6324" + sodipodi:role="line">SHA</tspan></text> + </g> + <g + id="g6326" + transform="translate(-101.5579,86.59053)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path6328" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text6330" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan6332" + sodipodi:role="line">SHA</tspan></text> + </g> + <path + id="path6334" + d="M 160.94817,457.746 L 303.02633,494.49705" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + sodipodi:nodetypes="cc" /> + <path + id="path6336" + d="M 162.37628,533.2456 C 165.94653,531.8175 303.74038,508.06402 303.74038,508.06402" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + sodipodi:nodetypes="cc" /> + <path + id="path6338" + d="M 162.11415,609.19714 L 305.88253,646.58992" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + sodipodi:nodetypes="cc" /> + <path + id="path6340" + d="M 162.8282,682.87546 L 305.16848,663.72714" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + sodipodi:nodetypes="cc" /> + <path + id="path6342" + d="M 343.27531,653.86149 L 482.23514,575.05376" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + sodipodi:nodetypes="cc" /> + <path + id="path6344" + d="M 341.0021,499.94733 L 481.52109,562.72508" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + sodipodi:nodetypes="cc" /> + <text + sodipodi:linespacing="100%" + id="text6346" + y="424.95895" + x="480.79593" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="424.95895" + x="480.79593" + id="tspan6348" + sodipodi:role="line">Merkle Tree</tspan></text> + <text + sodipodi:linespacing="100%" + id="text6350" + y="384.32007" + x="593.30579" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="384.32007" + x="593.30579" + id="tspan6352" + sodipodi:role="line">"share root hash"</tspan></text> + <g + id="g6396" + transform="translate(65.86388,-62.41649)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path6398" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text6400" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan6402" + sodipodi:role="line">SHA</tspan></text> + </g> + <path + id="path6404" + d="M 516.21962,265.18629 L 653.62028,407.4814" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 516.21962,558.30913 L 653.62028,429.30971" + id="path6406" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" + d="M 88.872351,202.61777 L 183.98136,204.17694 L 352.37108,321.11424 L 570.65404,564.34383 L 498.9325,650.09786 L 291.56368,394.39495 L 162.15306,280.57598 L 79.517367,263.42517 L 88.872351,202.61777 z " + id="path6408" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="430.70282" + y="734.79639" + id="text7299" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan7301" + x="430.70282" + y="734.79639">merkle hash chain</tspan><tspan + sodipodi:role="line" + x="430.70282" + y="754.79639" + id="tspan7303">to validate s1</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 519.99961,716.92402 C 528.23607,699.12899 558.20121,653.69346 528.55661,615.79625" + id="path7305" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/docs/file-encoding6.svg b/docs/file-encoding6.svg new file mode 100644 index 00000000..f15ee49e --- /dev/null +++ b/docs/file-encoding6.svg @@ -0,0 +1,760 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.44.1" + sodipodi:docbase="/home/warner/work/tahoe-misc" + sodipodi:docname="file-encoding6.svg"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path2976" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.60354902" + inkscape:cx="367.4898" + inkscape:cy="564.16839" + inkscape:document-units="px" + inkscape:current-layer="layer1" + inkscape:window-width="900" + inkscape:window-height="756" + inkscape:window-x="732" + inkscape:window-y="176" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <g + id="g3308" + transform="translate(-492.4404,-287.9192)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3297" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text3299" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan3306" + sodipodi:role="line">SHA</tspan></text> + </g> + <g + transform="translate(-361.8975,-287.9192)" + id="g3313"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3315" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3317" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3319" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <g + id="g3321" + transform="translate(-427.1689,-180.8987)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3323" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text3325" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan3327" + sodipodi:role="line">SHA</tspan></text> + </g> + <g + transform="translate(-234.578,-287.9192)" + id="g3345"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3347" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3349" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3351" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <g + id="g3353" + transform="translate(-170.1124,-180.8987)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3355" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text3357" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan3359" + sodipodi:role="line">SHA</tspan></text> + </g> + <g + transform="translate(-105.6468,-287.9192)" + id="g3361"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3363" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3365" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3367" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <rect + ry="0" + y="47.720215" + x="76.855522" + height="54.581161" + width="62.568695" + id="rect2984" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2988" + y="71.720772" + x="84.785179" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="71.720772" + x="84.785179" + id="tspan2990" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2992" + y="93.020752" + x="97.243141" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3042" + x="97.243141" + y="93.020752">A4</tspan></text> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3128" + width="62.568695" + height="54.581161" + x="207.39835" + y="47.720215" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="215.328" + y="71.720772" + id="text3130" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3132" + x="215.328" + y="71.720772">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="227.78596" + y="93.020752" + id="text3134" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3272" + x="227.78596" + y="93.020752">B4</tspan></text> + <rect + ry="0" + y="47.720215" + x="334.7179" + height="54.581161" + width="62.568695" + id="rect3186" + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3188" + y="71.720772" + x="342.64755" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="71.720772" + x="342.64755" + id="tspan3190" + sodipodi:role="line">share</tspan></text> + <text + sodipodi:linespacing="100%" + id="text3192" + y="93.020752" + x="355.10553" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3282" + x="355.10553" + y="93.020752">C4</tspan></text> + <rect + style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3245" + width="62.568695" + height="54.581161" + x="463.64905" + y="47.720215" + ry="0" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="471.5787" + y="71.720772" + id="text3247" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3249" + x="471.5787" + y="71.720772">share</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="484.03665" + y="93.020752" + id="text3251" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3293" + x="484.03665" + y="93.020752">D4</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="479.80331" + y="521.89929" + id="text3833" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3835" + x="479.80331" + y="521.89929">share4</tspan></text> + <rect + style="fill:#ffd5f6;fill-opacity:1;stroke:black;stroke-opacity:1" + id="rect3837" + width="95.533775" + height="81.721664" + x="608.88721" + y="272.46359" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="627.25848" + y="292.98965" + id="text3839" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3841" + x="627.25848" + y="292.98965">peer 4</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 559.39381,305.84288 C 608.88721,309.29591 608.88721,309.29591 608.88721,309.29591" + id="path3843" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 106.27121,102.50451 L 108.15211,173.97895" + id="path2431" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 238.8751,102.50451 L 237.93464,173.03849" + id="path2433" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 366.77673,103.44496 L 366.77673,172.09804" + id="path2435" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 495.61881,103.44496 L 495.61881,173.03849" + id="path2437" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 489.97609,208.77571 L 438.25116,282.13106" + id="path2439" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 370.53854,207.83526 L 420.38255,282.13106" + id="path2441" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 236.05374,209.71617 L 183.38836,284.01197" + id="path2443" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 110.97347,207.83526 L 164.5793,282.13106" + id="path2445" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 178.6861,315.98737 L 289.65957,388.40226" + id="path2447" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 426.02527,315.98737 L 316.93271,389.34272" + id="path2449" /> + <rect + style="fill:none;fill-opacity:1;stroke:blue;stroke-opacity:1" + id="rect3336" + width="474.92883" + height="334.80142" + x="61.129456" + y="140.12263" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="241.69646" + y="263.32199" + id="text3338" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3340" + x="241.69646" + y="263.32199">Merkle Tree</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="68.653069" + y="466.45987" + id="text3342" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3344" + x="68.653069" + y="466.45987">subshare hash tree</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="321.63498" + y="405.33044" + id="text3346" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3352" + x="321.63498" + y="405.33044">"subshare root hash"</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="88.648125" + y="598.72913" + id="text3632" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3634" + x="88.648125" + y="598.72913">subshare</tspan><tspan + sodipodi:role="line" + x="88.648125" + y="618.72913" + id="tspan3636">root hashes</tspan></text> + <g + id="g3642" + transform="translate(-350.3156,360.201)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3644" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" /> + <text + xml:space="preserve" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="591.47559" + y="483.09396" + id="text3646" + sodipodi:linespacing="100%"><tspan + y="483.09396" + x="591.47559" + id="tspan3648" + sodipodi:role="line">SHA</tspan></text> + </g> + <g + id="g3675" + transform="translate(52.10837,496.9171)"> + <path + transform="matrix(0.511994,0,0,0.511994,-233.9701,54.30905)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path5669" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3653" + y="160.03162" + x="68.92907" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="160.03162" + x="68.92907" + id="tspan3655" + sodipodi:role="line">s1</tspan></text> + </g> + <g + id="g3686" + transform="translate(52.10837,491.5603)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3657" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,-231.4293,132.056)" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="68.029869" + y="239.32857" + id="text3659" + sodipodi:linespacing="100%"><tspan + y="239.32857" + x="68.029869" + id="tspan3680" + sodipodi:role="line">s2</tspan></text> + </g> + <g + id="g3691" + transform="translate(52.10837,489.4639)"> + <path + transform="matrix(0.511994,0,0,0.511994,-229.5194,206.5426)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3663" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3665" + y="313.49518" + x="70.729767" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="313.49518" + x="70.729767" + id="tspan3682" + sodipodi:role="line">s3</tspan></text> + </g> + <g + id="g3696" + transform="translate(52.10837,496.9171)"> + <path + sodipodi:type="arc" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + id="path3669" + sodipodi:cx="607.56927" + sodipodi:cy="196.10106" + sodipodi:rx="34.958466" + sodipodi:ry="34.073441" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + transform="matrix(0.511994,0,0,0.511994,-229.5194,271.4796)" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="72.669769" + y="377.16217" + id="text3671" + sodipodi:linespacing="100%"><tspan + y="377.16217" + x="72.669769" + id="tspan3684" + sodipodi:role="line">s4</tspan></text> + </g> + <g + transform="translate(-352.4577,205.2519)" + id="g3701"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3703" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3705" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3707" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <g + transform="translate(-233.9253,270.9446)" + id="g3709"> + <path + transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path3711" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text3713" + y="483.09396" + x="591.47559" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan3715" + x="591.47559" + y="483.09396">SHA</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 147.07717,654.57336 L 229.9071,678.8511" + id="path3717" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 148.50528,723.83631 C 152.07553,722.40821 230.62115,692.41807 230.62115,692.41807" + id="path3719" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 151.36148,796.66952 L 232.7633,830.94397" + id="path3721" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 152.07553,868.78867 L 232.04925,848.08119" + id="path3723" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 267.03775,836.65638 L 349.86767,760.96697" + id="path3725" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 266.3237,687.41971 L 349.15362,742.40164" + id="path3727" /> + <rect + style="fill:none;fill-opacity:1;stroke:blue;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect5560" + width="484.38986" + height="374.49551" + x="78.049934" + y="564.42963" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="358.2843" + y="865.40643" + id="text5700" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan5702" + x="358.2843" + y="865.40643">Merkle Tree</tspan></text> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="88.140358" + y="930.49945" + id="text5704" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan7497" + x="88.140358" + y="930.49945">share hash tree</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="356.4744" + y="786.95703" + id="text5566" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan5568" + x="356.4744" + y="786.95703">"share root hash"</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0" + d="M 290.30681,720.03728 L 108.29659,845.9841 L 74.309836,804.80832 L 190.42285,712.9661 L 239.36655,641.22131 L 299.69,669.98266 L 290.30681,720.03728 z " + id="path5949" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 32.468525,28.648698 L 557.69466,30.558611 L 561.51449,540.50544 L 374.34299,540.50544 L 296.03655,725.76702 L 80.216355,869.01051 L 30.558611,817.44286 L 164.25254,727.67694 L 234.91933,590.16318 L 219.64002,534.7757 L 36.288351,534.7757 L 32.468525,28.648698 z " + id="path5951" /> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="370.89407" + y="630.30597" + id="text7307" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan7499" + x="370.89407" + y="630.30597">merkle hash chain</tspan><tspan + sodipodi:role="line" + id="tspan7501" + x="370.89407" + y="650.30597">to validate s4</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 444.20214,656.77444 C 435.69736,681.11928 360.49372,712.77648 296.54955,691.10088" + id="path7317" + sodipodi:nodetypes="cc" /> + <g + transform="translate(221.2501,29.91837)" + id="g7322"> + <path + transform="matrix(0.511994,0,0,0.511994,-229.5194,271.4796)" + d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1 572.61081,196.10106 A 34.958466 34.073441 0 1 1 642.52774 196.10106 z" + sodipodi:ry="34.073441" + sodipodi:rx="34.958466" + sodipodi:cy="196.10106" + sodipodi:cx="607.56927" + id="path7324" + style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1" + sodipodi:type="arc" /> + <text + sodipodi:linespacing="100%" + id="text7326" + y="377.16217" + x="72.669769" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + sodipodi:role="line" + id="tspan7328" + x="72.669769" + y="377.16217">s4</tspan></text> + </g> + </g> +</svg> diff --git a/docs/subtree1.svg b/docs/subtree1.svg new file mode 100644 index 00000000..4443f94f --- /dev/null +++ b/docs/subtree1.svg @@ -0,0 +1,337 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.44.1" + sodipodi:docbase="/home/warner/work/tahoe-misc" + sodipodi:docname="subtree1.svg" + inkscape:export-filename="/home/warner/work/tahoe-misc/subtree1.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path3885" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.97022059" + inkscape:cx="374.28571" + inkscape:cy="700.31901" + inkscape:document-units="px" + inkscape:current-layer="layer1" + inkscape:window-width="900" + inkscape:window-height="892" + inkscape:window-x="688" + inkscape:window-y="82" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1872" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + transform="translate(200.9852,-1.030697)" /> + <path + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + sodipodi:ry="46.381207" + sodipodi:rx="47.927246" + sodipodi:cy="122.6767" + sodipodi:cx="140.68965" + id="path1874" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:type="arc" + transform="translate(156.6654,151.5119)" /> + <path + transform="translate(338.0674,147.3891)" + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1876" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" /> + <path + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + sodipodi:ry="46.381207" + sodipodi:rx="47.927246" + sodipodi:cy="122.6767" + sodipodi:cx="140.68965" + id="path1878" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:type="arc" + transform="translate(247.3663,326.7297)" /> + <path + transform="translate(414.3386,322.6069)" + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1880" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" /> + <g + id="g2783"> + <rect + y="397.74335" + x="115.30916" + height="78.589722" + width="113.63329" + id="rect1882" + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2775" + y="423.63919" + x="145.32777" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + xml:space="preserve"><tspan + y="423.63919" + x="145.32777" + id="tspan2777" + sodipodi:role="line">File</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2779" + y="460.74414" + x="119.56045" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + xml:space="preserve"><tspan + y="460.74414" + x="119.56045" + id="tspan2781" + sodipodi:role="line">CHK: URI...</tspan></text> + </g> + <g + id="g2790" + transform="translate(131.9288,183.4634)"> + <rect + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" + id="rect2792" + width="113.63329" + height="78.589722" + x="115.30916" + y="397.74335" /> + <text + xml:space="preserve" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + x="145.32777" + y="423.63919" + id="text2794" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan2796" + x="145.32777" + y="423.63919">File</tspan></text> + <text + xml:space="preserve" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + x="119.56045" + y="460.74414" + id="text2798" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan2800" + x="119.56045" + y="460.74414">CHK: URI...</tspan></text> + </g> + <g + transform="translate(316.4229,191.7089)" + id="g2802"> + <rect + y="397.74335" + x="115.30916" + height="78.589722" + width="113.63329" + id="rect2804" + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2806" + y="423.63919" + x="145.32777" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + xml:space="preserve"><tspan + y="423.63919" + x="145.32777" + id="tspan2808" + sodipodi:role="line">File</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2810" + y="460.74414" + x="119.56045" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + xml:space="preserve"><tspan + y="460.74414" + x="119.56045" + id="tspan2812" + sodipodi:role="line">CHK: URI...</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 324.66844,166.99651 C 320.54566,168.02721 308.17734,227.80743 308.17734,227.80743" + id="path2814" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 375.17241,158.75097 L 443.19818,233.99159" + id="path2816" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 264.88822,311.2936 L 176.24858,394.77977" + id="path2818" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 458.65858,316.44706 L 419.49223,407.14808" + id="path2820" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 371.04964,494.75703 L 309.20803,576.18181" + id="path2826" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 413.30807,491.66495 L 478.24176,583.39667" + id="path2828" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 500.91701,314.38568 L 532.86851,400.96393" + id="path3897" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="324.66843" + y="197.91731" + id="text3899" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3901" + x="324.66843" + y="197.91731">foo</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="400.93976" + y="177.30345" + id="text3907" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3909" + x="400.93976" + y="177.30345">bar</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="225.72186" + y="373.13519" + id="text3911" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3913" + x="225.72186" + y="373.13519">baz.jpg</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="351.46646" + y="350.45993" + id="text3915" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3917" + x="351.46646" + y="350.45993">My Music</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="518.43878" + y="348.39856" + id="text3919" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3921" + x="518.43878" + y="348.39856">My Stuff</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="333.94467" + y="557.62933" + id="text3923" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3925" + x="333.94467" + y="557.62933">cool.mp3</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="451.44376" + y="543.19965" + id="text3927" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3929" + x="451.44376" + y="543.19965">boring.mp3</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="313.33081" + y="108.24699" + id="text3931" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3933" + x="313.33081" + y="108.24699">ROOT</tspan></text> + </g> +</svg> diff --git a/docs/subtree2.svg b/docs/subtree2.svg new file mode 100644 index 00000000..8cb1446b --- /dev/null +++ b/docs/subtree2.svg @@ -0,0 +1,361 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg3953" + sodipodi:version="0.32" + inkscape:version="0.44.1" + sodipodi:docbase="/home/warner/work/tahoe-misc" + sodipodi:docname="subtree2.svg" + inkscape:export-filename="/home/warner/work/tahoe-misc/subtree2.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs3955"> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path3885" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.53205645" + inkscape:cx="358.57143" + inkscape:cy="634.28571" + inkscape:document-units="px" + inkscape:current-layer="layer1" + inkscape:window-width="900" + inkscape:window-height="812" + inkscape:window-x="150" + inkscape:window-y="154" /> + <metadata + id="metadata3958"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1872" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + transform="translate(210.36,28.31376)" /> + <path + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + sodipodi:ry="46.381207" + sodipodi:rx="47.927246" + sodipodi:cy="122.6767" + sodipodi:cx="140.68965" + id="path1874" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:type="arc" + transform="translate(166.0402,180.8564)" /> + <path + transform="translate(347.4422,176.7336)" + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1876" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" /> + <path + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + sodipodi:ry="46.381207" + sodipodi:rx="47.927246" + sodipodi:cy="122.6767" + sodipodi:cx="140.68965" + id="path1878" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:type="arc" + transform="translate(256.7411,356.0742)" /> + <path + transform="translate(423.7134,351.9514)" + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1880" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" /> + <g + id="g2783" + transform="translate(-54.52828,42.50096)"> + <rect + y="397.74335" + x="115.30916" + height="78.589722" + width="113.63329" + id="rect1882" + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2775" + y="423.63919" + x="145.32777" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + xml:space="preserve"><tspan + y="423.63919" + x="145.32777" + id="tspan2777" + sodipodi:role="line">File</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2779" + y="460.74414" + x="119.56045" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + xml:space="preserve"><tspan + y="460.74414" + x="119.56045" + id="tspan2781" + sodipodi:role="line">CHK: URI...</tspan></text> + </g> + <g + id="g2790" + transform="translate(141.3036,212.8079)"> + <rect + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" + id="rect2792" + width="113.63329" + height="78.589722" + x="115.30916" + y="397.74335" /> + <text + xml:space="preserve" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + x="145.32777" + y="423.63919" + id="text2794" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan2796" + x="145.32777" + y="423.63919">File</tspan></text> + <text + xml:space="preserve" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + x="119.56045" + y="460.74414" + id="text2798" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan2800" + x="119.56045" + y="460.74414">CHK: URI...</tspan></text> + </g> + <g + transform="translate(325.7977,221.0534)" + id="g2802"> + <rect + y="397.74335" + x="115.30916" + height="78.589722" + width="113.63329" + id="rect2804" + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2806" + y="423.63919" + x="145.32777" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + xml:space="preserve"><tspan + y="423.63919" + x="145.32777" + id="tspan2808" + sodipodi:role="line">File</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2810" + y="460.74414" + x="119.56045" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + xml:space="preserve"><tspan + y="460.74414" + x="119.56045" + id="tspan2812" + sodipodi:role="line">CHK: URI...</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 334.04328,196.34099 C 329.9205,197.37169 317.55218,257.15191 317.55218,257.15191" + id="path2814" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 384.54725,188.09545 L 452.57302,263.33607" + id="path2816" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 274.26306,340.63808 L 132.99743,437.28075" + id="path2818" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 468.03342,345.79154 L 428.86707,436.49256" + id="path2820" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 380.42448,524.10151 L 318.58287,605.52629" + id="path2826" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 422.68291,521.00943 L 487.6166,612.74115" + id="path2828" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 510.29185,343.73016 L 542.24335,430.30841" + id="path3897" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="334.04327" + y="227.2618" + id="text3899" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3901" + x="334.04327" + y="227.2618">foo</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="410.31458" + y="206.64793" + id="text3907" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3909" + x="410.31458" + y="206.64793">bar</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="221.9402" + y="396.84119" + id="text3911" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3913" + x="221.9402" + y="396.84119">baz.jpg</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="360.84131" + y="379.80441" + id="text3915" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3917" + x="360.84131" + y="379.80441">My Music</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="527.8136" + y="377.74304" + id="text3919" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3921" + x="527.8136" + y="377.74304">My Stuff</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="343.31952" + y="586.97382" + id="text3923" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3925" + x="343.31952" + y="586.97382">cool.mp3</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="460.8186" + y="572.54413" + id="text3927" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3929" + x="460.8186" + y="572.54413">boring.mp3</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="352.77762" + y="28.580473" + id="text3931" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3933" + x="352.77762" + y="28.580473">ROOT</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 289.44298,63.745282 L 439.80295,63.745283 L 627.75293,206.58726 L 633.39143,597.52323 L 204.86548,595.64373 L 201.10648,214.10527 L 289.44298,63.745282 z " + id="path4103" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 383.41796,39.311785 L 355.22546,101.33528" + id="path4105" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:19.99997711px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + x="423.5351" + y="-211.85814" + id="text5000" + sodipodi:linespacing="100%" + transform="matrix(0.775814,0.630961,-0.630961,0.775814,0,0)"><tspan + sodipodi:role="line" + id="tspan5002" + x="423.5351" + y="-211.85814">CHK: URI...</tspan></text> + </g> +</svg> diff --git a/docs/subtree3.svg b/docs/subtree3.svg new file mode 100644 index 00000000..423a058f --- /dev/null +++ b/docs/subtree3.svg @@ -0,0 +1,393 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg3953" + sodipodi:version="0.32" + inkscape:version="0.44.1" + sodipodi:docbase="/home/warner/work/tahoe-misc" + sodipodi:docname="subtree3.svg" + inkscape:export-filename="/home/warner/work/tahoe-misc/subtree3.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs3955"> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path3885" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.72510911" + inkscape:cx="337.75291" + inkscape:cy="620.04371" + inkscape:document-units="px" + inkscape:current-layer="layer1" + inkscape:window-width="900" + inkscape:window-height="812" + inkscape:window-x="460" + inkscape:window-y="143" /> + <metadata + id="metadata3958"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1872" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + transform="translate(200.9625,178.6737)" /> + <path + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + sodipodi:ry="46.381207" + sodipodi:rx="47.927246" + sodipodi:cy="122.6767" + sodipodi:cx="140.68965" + id="path1874" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:type="arc" + transform="translate(156.6427,331.2164)" /> + <path + transform="translate(338.0447,327.0936)" + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1876" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" /> + <path + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + sodipodi:ry="46.381207" + sodipodi:rx="47.927246" + sodipodi:cy="122.6767" + sodipodi:cx="140.68965" + id="path1878" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:type="arc" + transform="translate(247.3436,506.4342)" /> + <path + transform="translate(414.3159,502.3114)" + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1880" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" /> + <g + id="g2783" + transform="translate(-63.92578,192.8609)"> + <rect + y="397.74335" + x="115.30916" + height="78.589722" + width="113.63329" + id="rect1882" + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2775" + y="423.63919" + x="145.32777" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + xml:space="preserve"><tspan + y="423.63919" + x="145.32777" + id="tspan2777" + sodipodi:role="line">File</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2779" + y="460.74414" + x="119.56045" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + xml:space="preserve"><tspan + y="460.74414" + x="119.56045" + id="tspan2781" + sodipodi:role="line">CHK: URI...</tspan></text> + </g> + <g + id="g2790" + transform="translate(131.9061,363.1679)"> + <rect + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" + id="rect2792" + width="113.63329" + height="78.589722" + x="115.30916" + y="397.74335" /> + <text + xml:space="preserve" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + x="145.32777" + y="423.63919" + id="text2794" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan2796" + x="145.32777" + y="423.63919">File</tspan></text> + <text + xml:space="preserve" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + x="119.56045" + y="460.74414" + id="text2798" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan2800" + x="119.56045" + y="460.74414">CHK: URI...</tspan></text> + </g> + <g + transform="translate(316.4002,371.4134)" + id="g2802"> + <rect + y="397.74335" + x="115.30916" + height="78.589722" + width="113.63329" + id="rect2804" + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2806" + y="423.63919" + x="145.32777" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + xml:space="preserve"><tspan + y="423.63919" + x="145.32777" + id="tspan2808" + sodipodi:role="line">File</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2810" + y="460.74414" + x="119.56045" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + xml:space="preserve"><tspan + y="460.74414" + x="119.56045" + id="tspan2812" + sodipodi:role="line">CHK: URI...</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 324.64578,346.70097 C 320.523,347.73167 308.15468,407.51189 308.15468,407.51189" + id="path2814" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 375.14975,338.45543 L 443.17552,413.69605" + id="path2816" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 264.86556,490.99806 L 123.59993,587.64073" + id="path2818" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 458.63592,496.15152 L 419.46957,586.85254" + id="path2820" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 371.02698,674.46149 L 309.18537,755.88627" + id="path2826" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 413.28541,671.36941 L 478.2191,763.10113" + id="path2828" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 500.89435,494.09014 L 532.84585,580.66839" + id="path3897" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="324.64578" + y="377.62177" + id="text3899" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3901" + x="324.64578" + y="377.62177">foo</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="400.91708" + y="357.0079" + id="text3907" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3909" + x="400.91708" + y="357.0079">bar</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="212.54271" + y="547.20117" + id="text3911" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3913" + x="212.54271" + y="547.20117">baz.jpg</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="351.44382" + y="530.16437" + id="text3915" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3917" + x="351.44382" + y="530.16437">My Music</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="518.41608" + y="528.10303" + id="text3919" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3921" + x="518.41608" + y="528.10303">My Stuff</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="333.92203" + y="737.3338" + id="text3923" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3925" + x="333.92203" + y="737.3338">cool.mp3</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="451.42111" + y="722.90411" + id="text3927" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3929" + x="451.42111" + y="722.90411">boring.mp3</tspan></text> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="380.07941" + y="35.59808" + id="text3931" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan6342" + x="380.07941" + y="35.59808">Local Root</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 280.04548,214.10527 L 430.40545,214.10527 L 618.35543,356.94724 L 623.99393,747.88321 L 195.46798,746.00371 L 191.70898,364.46525 L 280.04548,214.10527 z " + id="path4103" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 374.02046,189.67177 L 345.82796,251.69526" + id="path4105" + sodipodi:nodetypes="cc" /> + <path + sodipodi:type="star" + style="fill:#e3f4d7;stroke:black;stroke-opacity:1" + id="path4107" + sodipodi:sides="5" + sodipodi:cx="281.92496" + sodipodi:cy="48.709286" + sodipodi:r1="87.209602" + sodipodi:r2="55.01017" + sodipodi:arg1="0.92298489" + sodipodi:arg2="1.3307224" + inkscape:flatsided="false" + inkscape:rounded="0.17092637" + inkscape:randomized="0" + d="M 334.55095,118.25078 C 329.83663,123.82275 302.30234,102.0004 295.00497,102.14179 C 283.81005,102.35869 242.41388,124.4859 232.04939,120.24909 C 225.29333,117.48733 237.53906,84.557193 235.14958,77.660667 C 231.48387,67.080693 197.64752,34.548283 198.47417,23.38182 C 199.01301,16.102993 234.11557,17.573397 239.93617,13.169723 C 248.86556,6.4140382 269.34971,-35.819307 280.2251,-38.483748 C 287.31418,-40.220557 296.76304,-6.3816588 302.74984,-2.2067532 C 311.93421,4.1979778 358.43046,10.628744 364.32517,20.148493 C 368.16763,26.353913 338.90478,45.797098 336.78423,52.781006 C 333.5311,63.495032 341.78321,109.70281 334.55095,118.25078 z " + transform="matrix(0.662796,0,0,0.662796,181.4022,114.6387)" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 424.76696,43.070785 L 374.02046,95.696779" + id="path4994" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="328.69116" + y="142.68427" + id="text4996" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan4998" + x="328.69116" + y="142.68427">Account</tspan></text> + <text + xml:space="preserve" + style="font-size:19.99999328;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + x="504.59412" + y="-89.438469" + id="text5000" + sodipodi:linespacing="100%" + transform="matrix(0.775814,0.630961,-0.630961,0.775814,0,0)"><tspan + sodipodi:role="line" + id="tspan5002" + x="504.59412" + y="-89.438469">CHK: URI...</tspan></text> + </g> +</svg> diff --git a/docs/subtree4.svg b/docs/subtree4.svg new file mode 100644 index 00000000..7c63977d --- /dev/null +++ b/docs/subtree4.svg @@ -0,0 +1,468 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="744.09448819" + height="1052.3622047" + id="svg3953" + sodipodi:version="0.32" + inkscape:version="0.44.1" + sodipodi:docbase="/home/warner/work/tahoe-misc" + sodipodi:docname="subtree4.svg" + inkscape:export-filename="/home/warner/work/tahoe-misc/subtree4.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs3955"> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Lend" + style="overflow:visible;"> + <path + id="path3885" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" + transform="scale(0.8) rotate(180) translate(12.5,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + gridtolerance="10000" + guidetolerance="10" + objecttolerance="10" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.72510911" + inkscape:cx="337.75291" + inkscape:cy="559.79495" + inkscape:document-units="px" + inkscape:current-layer="layer1" + inkscape:window-width="904" + inkscape:window-height="914" + inkscape:window-x="763" + inkscape:window-y="88" /> + <metadata + id="metadata3958"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <path + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1872" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + transform="translate(200.9625,178.6737)" /> + <path + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + sodipodi:ry="46.381207" + sodipodi:rx="47.927246" + sodipodi:cy="122.6767" + sodipodi:cx="140.68965" + id="path1874" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:type="arc" + transform="translate(156.6427,331.2164)" /> + <path + transform="translate(338.0447,327.0936)" + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1876" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" /> + <path + transform="translate(414.3159,502.3114)" + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1880" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" /> + <g + id="g2783" + transform="translate(-63.92578,192.8609)" + inkscape:export-filename="/home/warner/work/tahoe-misc/subtree3.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <rect + y="397.74335" + x="115.30916" + height="78.589722" + width="113.63329" + id="rect1882" + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2775" + y="423.63919" + x="145.32777" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + xml:space="preserve"><tspan + y="423.63919" + x="145.32777" + id="tspan2777" + sodipodi:role="line">File</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2779" + y="460.74414" + x="119.56045" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + xml:space="preserve"><tspan + y="460.74414" + x="119.56045" + id="tspan2781" + sodipodi:role="line">CHK: URI...</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 324.64578,346.70097 C 320.523,347.73167 308.15468,407.51189 308.15468,407.51189" + id="path2814" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 375.14975,338.45543 L 443.17552,413.69605" + id="path2816" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 264.86556,490.99806 L 123.59993,587.64073" + id="path2818" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 458.63592,496.15152 L 396.02482,757.86129" + id="path2820" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 500.89435,494.09014 L 532.84585,580.66839" + id="path3897" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="324.64578" + y="377.62177" + id="text3899" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3901" + x="324.64578" + y="377.62177">foo</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="400.91708" + y="357.0079" + id="text3907" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3909" + x="400.91708" + y="357.0079">bar</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="212.54271" + y="547.20117" + id="text3911" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3913" + x="212.54271" + y="547.20117">baz.jpg</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="351.44382" + y="530.16437" + id="text3915" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3917" + x="351.44382" + y="530.16437">My Music</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="518.41608" + y="528.10303" + id="text3919" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3921" + x="518.41608" + y="528.10303">My Stuff</tspan></text> + <g + id="g5274" + transform="translate(4.137308,179.2834)"> + <path + transform="translate(247.3436,506.4342)" + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path1878" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" /> + <g + transform="translate(131.9061,363.1679)" + id="g2790"> + <rect + y="397.74335" + x="115.30916" + height="78.589722" + width="113.63329" + id="rect2792" + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text2794" + y="423.63919" + x="145.32777" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + xml:space="preserve"><tspan + y="423.63919" + x="145.32777" + id="tspan2796" + sodipodi:role="line">File</tspan></text> + <text + sodipodi:linespacing="100%" + id="text2798" + y="460.74414" + x="119.56045" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + xml:space="preserve"><tspan + y="460.74414" + x="119.56045" + id="tspan2800" + sodipodi:role="line">CHK: URI...</tspan></text> + </g> + <g + id="g2802" + transform="translate(316.4002,371.4134)"> + <rect + style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" + id="rect2804" + width="113.63329" + height="78.589722" + x="115.30916" + y="397.74335" /> + <text + xml:space="preserve" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L" + x="145.32777" + y="423.63919" + id="text2806" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan2808" + x="145.32777" + y="423.63919">File</tspan></text> + <text + xml:space="preserve" + style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + x="119.56045" + y="460.74414" + id="text2810" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan2812" + x="119.56045" + y="460.74414">CHK: URI...</tspan></text> + </g> + <path + id="path2826" + d="M 371.02698,674.46149 L 309.18537,755.88627" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <path + id="path2828" + d="M 413.28541,671.36941 L 478.2191,763.10113" + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" /> + <text + sodipodi:linespacing="100%" + id="text3923" + y="737.3338" + x="333.92203" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="737.3338" + x="333.92203" + id="tspan3925" + sodipodi:role="line">cool.mp3</tspan></text> + <text + sodipodi:linespacing="100%" + id="text3927" + y="722.90411" + x="451.42111" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + xml:space="preserve"><tspan + y="722.90411" + x="451.42111" + id="tspan3929" + sodipodi:role="line">boring.mp3</tspan></text> + </g> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 280.04548,214.10527 L 430.40545,214.10527 L 618.35543,356.94724 L 617.09842,678.92807 L 192.70977,674.29036 L 191.70898,364.46525 L 280.04548,214.10527 z " + id="path4103" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" + d="M 374.02046,189.67177 L 345.82796,251.69526" + id="path4105" + sodipodi:nodetypes="cc" /> + <path + sodipodi:type="star" + style="fill:#e3f4d7;stroke:black;stroke-opacity:1" + id="path4107" + sodipodi:sides="5" + sodipodi:cx="281.92496" + sodipodi:cy="48.709286" + sodipodi:r1="87.209602" + sodipodi:r2="55.01017" + sodipodi:arg1="0.92298489" + sodipodi:arg2="1.3307224" + inkscape:flatsided="false" + inkscape:rounded="0.17092637" + inkscape:randomized="0" + d="M 334.55095,118.25078 C 329.83663,123.82275 302.30234,102.0004 295.00497,102.14179 C 283.81005,102.35869 242.41388,124.4859 232.04939,120.24909 C 225.29333,117.48733 237.53906,84.557193 235.14958,77.660667 C 231.48387,67.080693 197.64752,34.548283 198.47417,23.38182 C 199.01301,16.102993 234.11557,17.573397 239.93617,13.169723 C 248.86556,6.4140382 269.34971,-35.819307 280.2251,-38.483748 C 287.31418,-40.220557 296.76304,-6.3816588 302.74984,-2.2067532 C 311.93421,4.1979778 358.43046,10.628744 364.32517,20.148493 C 368.16763,26.353913 338.90478,45.797098 336.78423,52.781006 C 333.5311,63.495032 341.78321,109.70281 334.55095,118.25078 z " + transform="matrix(0.662796,0,0,0.662796,181.4022,114.6387)" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 424.76696,43.070785 L 374.02046,95.696779" + id="path4994" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="328.69116" + y="142.68427" + id="text4996" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan4998" + x="328.69116" + y="142.68427">Account</tspan></text> + <text + xml:space="preserve" + style="font-size:19.99999328;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + x="504.59412" + y="-89.438469" + id="text5000" + sodipodi:linespacing="100%" + transform="matrix(0.775814,0.630961,-0.630961,0.775814,0,0)"><tspan + sodipodi:role="line" + id="tspan5002" + x="504.59412" + y="-89.438469">CHK: URI...</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 313.05634,728.27302 L 460.62034,729.65213 L 564.05305,799.98637 L 568.19035,936.51755 L 234.44748,928.24293 L 234.44748,801.36547 L 313.05634,728.27302 z " + id="path5295" /> + <text + transform="matrix(0.775814,0.630961,-0.630961,0.775814,0,0)" + sodipodi:linespacing="100%" + id="text5297" + y="291.5845" + x="825.14142" + style="font-size:19.99998474px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch" + xml:space="preserve"><tspan + y="291.5845" + x="825.14142" + id="tspan5299" + sodipodi:role="line">CHK: URI...</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 245.48029,740.68495 L 340.63839,780.67893" + id="path5301" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 161.35503,769.64611 L 335.12198,799.98637" + id="path5303" + sodipodi:nodetypes="cc" /> + <path + transform="matrix(0.615773,0,0,0.573231,41.75939,695.9379)" + sodipodi:type="arc" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path6190" + sodipodi:cx="140.68965" + sodipodi:cy="122.6767" + sodipodi:rx="47.927246" + sodipodi:ry="46.381207" + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" /> + <path + d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1 92.762405,122.6767 A 47.927246 46.381207 0 1 1 188.6169 122.6767 z" + sodipodi:ry="46.381207" + sodipodi:rx="47.927246" + sodipodi:cy="122.6767" + sodipodi:cx="140.68965" + id="path6192" + style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:type="arc" + transform="matrix(0.615773,0,0,0.573231,128.6429,664.2185)" /> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="46.889496" + y="726.89392" + id="text6194" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan6196" + x="46.889496" + y="726.89392">other subtrees</tspan></text> + <text + xml:space="preserve" + style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="290.99066" + y="724.13574" + id="text6198" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan6200" + x="290.99066" + y="724.13574">shared read-only subtree</tspan></text> + <text + xml:space="preserve" + style="font-size:20;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" + x="383.83087" + y="34.258801" + id="text6344" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan6342" + x="383.83087" + y="34.258801">Local Root</tspan></text> + </g> +</svg> -- 2.45.2