rework after first review discussion

This commit is contained in:
Claus-Peter Hübner 2022-04-01 01:05:07 +02:00
parent ec33fbf72a
commit 746092cbd4
2 changed files with 289 additions and 160 deletions

View File

@ -1,274 +1,403 @@
<mxfile host="65bd71144e">
<diagram id="jqy9GLoHfEna4h-l2pXZ" name="Seite-1">
<mxGraphModel dx="2148" dy="1600" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2336" pageHeight="1654" math="0" shadow="0">
<mxGraphModel dx="2564" dy="1600" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2336" pageHeight="1654" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="39" value="&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Community-B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - uuid_B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - url_B&lt;/span&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" vertex="1" parent="1">
<mxGeometry x="1360" y="640" width="400" height="160" as="geometry"/>
<mxCell id="39" value="&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Community-B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - uuid_B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - url_B&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - apiVer_B&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" parent="1" vertex="1">
<mxGeometry x="1360" y="600" width="400" height="160" as="geometry"/>
</mxCell>
<mxCell id="35" value="&lt;div style=&quot;text-align: center&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;existing Community-A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- uuid_A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- url_A&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#d5e8d4;strokeColor=#82b366;gradientColor=#97d077;" vertex="1" parent="1">
<mxGeometry x="200" y="653" width="360" height="157" as="geometry"/>
<mxCell id="35" value="&lt;div style=&quot;text-align: center&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;existing Community-A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- uuid_A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- url_A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- apiVer_A&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#d5e8d4;strokeColor=#82b366;gradientColor=#97d077;" parent="1" vertex="1">
<mxGeometry x="160" y="613" width="400" height="157" as="geometry"/>
</mxCell>
<mxCell id="2" value="&lt;div style=&quot;text-align: center&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;existing Community-A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- uuid_A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- url_A&lt;/span&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#d5e8d4;strokeColor=#82b366;gradientColor=#97d077;" vertex="1" parent="1">
<mxGeometry x="360" y="80" width="280" height="160" as="geometry"/>
<mxCell id="2" value="&lt;div style=&quot;text-align: center&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;existing Community-A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- uuid_A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- url_A&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- apiVer_A&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#d5e8d4;strokeColor=#82b366;gradientColor=#97d077;" parent="1" vertex="1">
<mxGeometry x="360" y="40" width="280" height="160" as="geometry"/>
</mxCell>
<mxCell id="3" value="dht-node&lt;br&gt;- dht_gradido-topic&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_A&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="480" y="140" width="160" height="80" as="geometry"/>
<mxCell id="3" value="dht-node&lt;br&gt;- dht_gradido-topic&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_A&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="480" y="100" width="160" height="80" as="geometry"/>
</mxCell>
<mxCell id="4" value="&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Community-B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - uuid_B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - url_B&lt;/span&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" vertex="1" parent="1">
<mxGeometry x="1280" y="240" width="280" height="160" as="geometry"/>
<mxCell id="4" value="&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Community-B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - uuid_B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - url_B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - apiVer_B&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" parent="1" vertex="1">
<mxGeometry x="1280" y="200" width="280" height="160" as="geometry"/>
</mxCell>
<mxCell id="5" value="dht-node&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- dht_gradido_topic&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_B&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#0050ef;fontColor=#ffffff;strokeColor=#001DBC;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="1290" y="300" width="140" height="80" as="geometry"/>
<mxCell id="5" value="dht-node&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- dht_gradido_topic&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_B&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#0050ef;fontColor=#ffffff;strokeColor=#001DBC;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="1290" y="260" width="140" height="80" as="geometry"/>
</mxCell>
<mxCell id="15" value="" style="endArrow=classic;html=1;fontSize=14;" edge="1" parent="1">
<mxCell id="15" value="" style="endArrow=classic;html=1;fontSize=14;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="560" y="280" as="sourcePoint"/>
<mxPoint x="1000" y="280" as="targetPoint"/>
<mxPoint x="560" y="240" as="sourcePoint"/>
<mxPoint x="1000" y="240" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="17" value="&lt;b&gt;&amp;nbsp; join_AsServer&lt;/b&gt;(dht_gradido_topic, keypair_A.pubKey)&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="15">
<mxCell id="17" value="&lt;b&gt;&amp;nbsp; join_AsServer&lt;/b&gt;(dht_gradido_topic, keypair_A.pubKey)&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" parent="15" vertex="1" connectable="0">
<mxGeometry x="0.2216" relative="1" as="geometry">
<mxPoint x="-36" y="-1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="19" value="" style="endArrow=classic;html=1;fontSize=14;" edge="1" parent="1">
<mxCell id="19" value="" style="endArrow=classic;html=1;fontSize=14;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1360" y="420" as="sourcePoint"/>
<mxPoint x="560" y="420" as="targetPoint"/>
<mxPoint x="1360" y="380" as="sourcePoint"/>
<mxPoint x="560" y="380" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="20" value="&lt;b&gt;&amp;nbsp; join_AsClient&lt;/b&gt;(dht_gradido_topic, keypair_B.pubKey)&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="19">
<mxCell id="20" value="&lt;b&gt;&amp;nbsp; join_AsClient&lt;/b&gt;(dht_gradido_topic, keypair_B.pubKey)&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" parent="19" vertex="1" connectable="0">
<mxGeometry x="0.4162" relative="1" as="geometry">
<mxPoint x="126" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="23" value="" style="endArrow=none;html=1;fontSize=14;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="3">
<mxCell id="23" value="" style="endArrow=none;html=1;fontSize=14;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" target="3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="560" y="840" as="sourcePoint"/>
<mxPoint x="990" y="390" as="targetPoint"/>
<mxPoint x="560" y="1640" as="sourcePoint"/>
<mxPoint x="990" y="350" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="24" value="" style="endArrow=none;html=1;fontSize=14;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="5">
<mxCell id="24" value="" style="endArrow=none;html=1;fontSize=14;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" target="5" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1360" y="840" as="sourcePoint"/>
<mxPoint x="1090" y="100" as="targetPoint"/>
<mxPoint x="1360" y="1640" as="sourcePoint"/>
<mxPoint x="1090" y="60" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="25" value="dht-node&lt;br&gt;- dht_gradido-topic&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_A&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;font color=&quot;#ff8000&quot;&gt;* pubkey_B&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="400" y="420" width="160" height="100" as="geometry"/>
<mxCell id="25" value="dht-node&lt;br&gt;- dht_gradido-topic&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_A&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;font color=&quot;#ff8000&quot;&gt;* pubkey_B&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="400" y="380" width="160" height="100" as="geometry"/>
</mxCell>
<mxCell id="26" value="dht-node&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- dht_gradido_topic&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_B&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;font color=&quot;#ff8000&quot;&gt;* pubkey_A&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#0050ef;fontColor=#ffffff;strokeColor=#001DBC;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="1360" y="520" width="140" height="100" as="geometry"/>
<mxCell id="26" value="dht-node&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- dht_gradido_topic&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_B&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;font color=&quot;#ff8000&quot;&gt;* pubkey_A&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#0050ef;fontColor=#ffffff;strokeColor=#001DBC;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="1360" y="480" width="140" height="100" as="geometry"/>
</mxCell>
<mxCell id="27" value="" style="endArrow=classic;html=1;fontSize=14;" edge="1" parent="1">
<mxCell id="27" value="" style="endArrow=classic;html=1;fontSize=14;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="560" y="520" as="sourcePoint"/>
<mxPoint x="1360" y="520" as="targetPoint"/>
<mxPoint x="560" y="480" as="sourcePoint"/>
<mxPoint x="1360" y="480" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="28" value="&lt;b&gt;&amp;nbsp; connect&lt;/b&gt;( socket_B( pubkey_A) )&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="27">
<mxCell id="28" value="&lt;b&gt;&amp;nbsp; connect&lt;/b&gt;( socket_B( pubkey_A) )&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" parent="27" vertex="1" connectable="0">
<mxGeometry x="0.2216" relative="1" as="geometry">
<mxPoint x="-129" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="31" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;fontSize=14;" edge="1" parent="1">
<mxCell id="31" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;fontSize=14;" parent="1" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="560" y="683" as="sourcePoint"/>
<mxPoint x="1360" y="683" as="targetPoint"/>
<mxPoint x="560" y="643" as="sourcePoint"/>
<mxPoint x="1360" y="643" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="32" value="&amp;nbsp; SocketStream( exchange (url_A), exchange(url_B) )&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="31">
<mxCell id="32" value="&amp;nbsp; SocketStream( exchange (url_A, apiVer_A), exchange(url_B, apiVer_B) )&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" parent="31" vertex="1" connectable="0">
<mxGeometry x="-0.215" y="-1" relative="1" as="geometry">
<mxPoint x="46" y="-3" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="33" value="dht-node&lt;br&gt;- dht_gradido-topic&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_A&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;* pubkey_B&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="400" y="683" width="160" height="100" as="geometry"/>
<mxCell id="33" value="dht-node&lt;br&gt;- dht_gradido-topic&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_A&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;* pubkey_B&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#008a00;fontColor=#ffffff;strokeColor=#005700;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="400" y="643" width="160" height="100" as="geometry"/>
</mxCell>
<mxCell id="34" value="dht-node&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- dht_gradido_topic&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_B&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;* pubkey_A&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#0050ef;fontColor=#ffffff;strokeColor=#001DBC;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="1360" y="683" width="140" height="100" as="geometry"/>
<mxCell id="34" value="dht-node&lt;br&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- dht_gradido_topic&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;- keypair_B&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt;* pubkey_A&lt;/span&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#0050ef;fontColor=#ffffff;strokeColor=#001DBC;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="1360" y="643" width="140" height="100" as="geometry"/>
</mxCell>
<mxCell id="36" value="" style="endArrow=classic;html=1;fontSize=14;exitX=0;exitY=0.75;exitDx=0;exitDy=0;startArrow=none;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="33" target="37">
<mxCell id="36" value="" style="endArrow=classic;html=1;fontSize=14;exitX=0;exitY=0.75;exitDx=0;exitDy=0;startArrow=none;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="33" target="37" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="620" y="783" as="sourcePoint"/>
<mxPoint x="240" y="742" as="targetPoint"/>
<mxPoint x="620" y="743" as="sourcePoint"/>
<mxPoint x="240" y="702" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="37" value="&lt;font color=&quot;#ff8000&quot;&gt;&amp;nbsp;* url_B / pubkey_B&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" vertex="1" parent="1">
<mxGeometry x="200" y="732" width="160" height="50" as="geometry"/>
<mxCell id="37" value="&lt;font color=&quot;#ff8000&quot;&gt;&amp;nbsp;* url_B / pubkey_B / apiVer_B&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" parent="1" vertex="1">
<mxGeometry x="170" y="710" width="200" height="50" as="geometry"/>
</mxCell>
<mxCell id="40" value="&lt;font color=&quot;#ff8000&quot;&gt;&amp;nbsp;* url_A / pubkey_A&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" vertex="1" parent="1">
<mxGeometry x="1570" y="733" width="190" height="50" as="geometry"/>
<mxCell id="40" value="&lt;font color=&quot;#ff8000&quot;&gt;&amp;nbsp;* url_A / pubkey_A / apiVer_A&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" parent="1" vertex="1">
<mxGeometry x="1560" y="693" width="200" height="50" as="geometry"/>
</mxCell>
<mxCell id="41" value="" style="endArrow=classic;html=1;fontSize=14;exitX=1.014;exitY=0.82;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.014;entryY=0.64;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="34" target="40">
<mxCell id="41" value="" style="endArrow=classic;html=1;fontSize=14;exitX=1.014;exitY=0.82;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.014;entryY=0.64;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="34" target="40" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1770" y="600" as="sourcePoint"/>
<mxPoint x="1820" y="550" as="targetPoint"/>
<mxPoint x="1770" y="560" as="sourcePoint"/>
<mxPoint x="1820" y="510" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="42" value="&lt;div style=&quot;text-align: center&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;existing Community-A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- uuid_A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- url_A&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#d5e8d4;strokeColor=#82b366;gradientColor=#97d077;" vertex="1" parent="1">
<mxGeometry x="200" y="960" width="360" height="240" as="geometry"/>
<mxCell id="42" value="&lt;div style=&quot;text-align: center&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;existing Community-A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- uuid_A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- url_A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- apiVer_A&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#d5e8d4;strokeColor=#82b366;gradientColor=#97d077;" parent="1" vertex="1">
<mxGeometry x="80" y="880" width="480" height="400" as="geometry"/>
</mxCell>
<mxCell id="43" value="&amp;nbsp;* url_B / pubkey_B &lt;font color=&quot;#ff8000&quot;&gt;/ uuid_B&lt;/font&gt;&lt;br&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" vertex="1" parent="1">
<mxGeometry x="200" y="1039" width="200" height="50" as="geometry"/>
<mxCell id="43" value="&amp;nbsp;* url_B / &lt;font color=&quot;#ff8000&quot;&gt;pubkey_B / apiVer_B&amp;nbsp;&lt;/font&gt; &lt;font color=&quot;#7f00ff&quot;&gt;/ uuid_B&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" parent="1" vertex="1">
<mxGeometry x="80" y="1155" width="250" height="50" as="geometry"/>
</mxCell>
<mxCell id="44" value="&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Community-B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - uuid_B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - url_B&lt;/span&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" vertex="1" parent="1">
<mxGeometry x="1360" y="960" width="440" height="240" as="geometry"/>
<mxCell id="44" value="&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Community-B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - uuid_B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - url_B&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - apiVer_B&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" parent="1" vertex="1">
<mxGeometry x="1360" y="880" width="720" height="400" as="geometry"/>
</mxCell>
<mxCell id="45" value="&amp;nbsp;* url_A / pubkey_A&lt;br&gt;&lt;br&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" vertex="1" parent="1">
<mxGeometry x="1610" y="1040" width="190" height="50" as="geometry"/>
<mxCell id="45" value="&lt;font color=&quot;#00ff00&quot;&gt;&amp;nbsp;* &lt;b&gt;url_A / pubkey_A&lt;/b&gt;&lt;/font&gt; / apiVer_A / &lt;b&gt;&lt;font color=&quot;#ff00ff&quot;&gt;oneTimeCode&lt;/font&gt;&lt;/b&gt;&lt;br&gt;&amp;nbsp;* url_A / pubkey_A'" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" parent="1" vertex="1">
<mxGeometry x="1710" y="1040" width="370" height="50" as="geometry"/>
</mxCell>
<mxCell id="46" value="" style="endArrow=classic;html=1;fontSize=14;exitX=1;exitY=0.329;exitDx=0;exitDy=0;entryX=0.003;entryY=0.338;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" edge="1" parent="1" source="42" target="44">
<mxCell id="46" value="" style="endArrow=classic;html=1;fontSize=14;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.005;entryY=0.205;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="48" target="44" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="920" y="1130" as="sourcePoint"/>
<mxPoint x="970" y="1080" as="targetPoint"/>
<mxPoint x="920" y="1050" as="sourcePoint"/>
<mxPoint x="970" y="1000" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="47" value="&lt;b&gt;&amp;nbsp; request: &lt;/b&gt;http://&amp;lt;url_B&amp;gt;/openConnection( encrypted url_A, pubkey_A )&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="46">
<mxCell id="47" value="&lt;b&gt;&amp;nbsp; request: &lt;/b&gt;http://&amp;lt;url_B&amp;gt;/&amp;lt;apiVer_B&amp;gt;/openConnection( &lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;pubkey_A&lt;/font&gt;&lt;/b&gt;, encrypted and &lt;b&gt;&lt;font color=&quot;#ff0000&quot;&gt;signed &lt;/font&gt;&lt;/b&gt;url_A)&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" parent="46" vertex="1" connectable="0">
<mxGeometry x="-0.215" y="-1" relative="1" as="geometry">
<mxPoint as="offset"/>
<mxPoint x="64" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="48" value="encrypt url_A&amp;nbsp; &lt;br&gt;with pubkey_B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" vertex="1" parent="1">
<mxGeometry x="420" y="1019.5" width="110" height="41" as="geometry"/>
<mxCell id="48" value="encrypt &lt;font color=&quot;#000000&quot;&gt;url_A&lt;/font&gt;&amp;nbsp; &lt;br&gt;with &lt;font color=&quot;#ff8000&quot;&gt;pubkey_B&lt;/font&gt; +&lt;br&gt;sign it with privatKey_A&amp;nbsp;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" parent="1" vertex="1">
<mxGeometry x="420" y="921.5" width="125" height="70" as="geometry"/>
</mxCell>
<mxCell id="49" value="" style="endArrow=classic;html=1;fontSize=14;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="44" target="42">
<mxCell id="49" value="" style="endArrow=classic;html=1;fontSize=14;exitX=-0.002;exitY=0.453;exitDx=0;exitDy=0;entryX=1;entryY=0.455;entryDx=0;entryDy=0;exitPerimeter=0;entryPerimeter=0;" parent="1" source="44" target="42" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="990" y="790" as="sourcePoint"/>
<mxPoint x="1040" y="740" as="targetPoint"/>
<mxPoint x="990" y="710" as="sourcePoint"/>
<mxPoint x="1040" y="660" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="50" value="&lt;b&gt;&amp;nbsp; response:&lt;/b&gt; uui_B&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="49">
<mxCell id="50" value="&lt;b&gt;&amp;nbsp; request: &lt;/b&gt;http://&amp;lt;url_A&amp;gt;/&amp;lt;apiVer_A&amp;gt;//openConnectionRedirect&lt;b&gt;(&lt;/b&gt;&lt;font color=&quot;#ff00ff&quot;&gt;&lt;b&gt;onetimeCode&lt;/b&gt;&lt;/font&gt;, encrypted redirect_URL)&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" parent="49" vertex="1" connectable="0">
<mxGeometry x="0.255" y="2" relative="1" as="geometry">
<mxPoint x="52" y="-3" as="offset"/>
<mxPoint x="72" y="-3" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="51" value="decrypt encoded_url_A&amp;nbsp; &lt;br&gt;with privatkey_B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" vertex="1" parent="1">
<mxGeometry x="1455" y="1012.5" width="110" height="48" as="geometry"/>
<mxCell id="51" value="decrypt encoded_url_A&amp;nbsp; &lt;br&gt;with privatkey_B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" parent="1" vertex="1">
<mxGeometry x="1390" y="910" width="180" height="40" as="geometry"/>
</mxCell>
<mxCell id="53" value="matching &lt;br&gt;pubkey of url_A&lt;br&gt;with given &lt;br&gt;pubkey_A?" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
<mxGeometry x="1420" y="1080" width="180" height="100" as="geometry"/>
</mxCell>
<mxCell id="54" value="" style="endArrow=classic;html=1;fontSize=14;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="42" target="43">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="670" y="1090" as="sourcePoint"/>
<mxPoint x="720" y="1040" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="55" value="&lt;div style=&quot;text-align: center&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;existing Community-A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- uuid_A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- url_A&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#d5e8d4;strokeColor=#82b366;gradientColor=#97d077;" vertex="1" parent="1">
<mxGeometry x="80" y="1220" width="480" height="240" as="geometry"/>
</mxCell>
<mxCell id="56" value="&amp;nbsp;* url_B / pubkey_B / uuid_B &lt;font color=&quot;#ff8000&quot;&gt;/ communityTO_B&lt;br&gt;&lt;/font&gt;&lt;br&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" vertex="1" parent="1">
<mxGeometry x="80" y="1299" width="300" height="50" as="geometry"/>
</mxCell>
<mxCell id="57" value="&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Community-B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - uuid_B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - url_B&lt;/span&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" vertex="1" parent="1">
<mxGeometry x="1360" y="1220" width="520" height="240" as="geometry"/>
</mxCell>
<mxCell id="58" value="&amp;nbsp;* url_A / pubkey_A&lt;font color=&quot;#ff8000&quot;&gt; / uuid_A / communityTO_A&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" vertex="1" parent="1">
<mxGeometry x="1570" y="1313" width="310" height="50" as="geometry"/>
</mxCell>
<mxCell id="59" value="" style="endArrow=classic;html=1;fontSize=14;exitX=1;exitY=0.329;exitDx=0;exitDy=0;entryX=0.003;entryY=0.338;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" edge="1" parent="1" source="55" target="57">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="920" y="1390" as="sourcePoint"/>
<mxPoint x="970" y="1340" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="60" value="&lt;b&gt;&amp;nbsp; request: &lt;/b&gt;http://&amp;lt;url_B&amp;gt;/familiarizeCommunity( encrypted uuid_B, pubkey_A, communityTO_A )&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="59">
<mxGeometry x="-0.215" y="-1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="61" value="encrypt uuid_B&amp;nbsp;&amp;nbsp;&lt;br&gt;with pubkey_B&lt;br&gt;and init CommunityTO : &lt;br&gt;- uuid_A&lt;br&gt;- etc." style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" vertex="1" parent="1">
<mxGeometry x="420" y="1248.5" width="120" height="100.5" as="geometry"/>
</mxCell>
<mxCell id="62" value="" style="endArrow=classic;html=1;fontSize=14;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="57" target="55">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="990" y="1050" as="sourcePoint"/>
<mxPoint x="1040" y="1000" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="63" value="&lt;b&gt;&amp;nbsp; response:&lt;/b&gt;&amp;nbsp;communityTO_B&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="62">
<mxGeometry x="0.255" y="2" relative="1" as="geometry">
<mxPoint x="52" y="-3" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="74" value="" style="edgeStyle=none;html=1;fontSize=14;fontColor=#FF8000;startArrow=none;startFill=0;endArrow=classic;endFill=1;" edge="1" parent="1" source="64" target="65">
<mxCell id="84" value="" style="edgeStyle=none;html=1;fontColor=#00FF00;startArrow=none;" edge="1" parent="1" source="98" target="83">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="64" value="decrypt encoded_uuid_B&amp;nbsp;&amp;nbsp;&lt;br&gt;with privatkey_B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" vertex="1" parent="1">
<mxGeometry x="1375" y="1272" width="110" height="48" as="geometry"/>
<mxCell id="53" value="&lt;font color=&quot;#00ff00&quot;&gt;pubkey_A of url_A&lt;/font&gt;&lt;br&gt;==&amp;nbsp;&lt;font color=&quot;#ff0000&quot;&gt;pubkey_A&lt;/font&gt;?" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" parent="1" vertex="1">
<mxGeometry x="1390" y="970" width="180" height="50" as="geometry"/>
</mxCell>
<mxCell id="75" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=14;fontColor=#FF8000;startArrow=none;startFill=0;endArrow=classic;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="65" target="73">
<mxGeometry relative="1" as="geometry">
<mxCell id="54" value="" style="endArrow=classic;html=1;fontSize=14;exitX=1.003;exitY=0.458;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitPerimeter=0;" parent="1" source="42" target="87" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="670" y="1010" as="sourcePoint"/>
<mxPoint x="720" y="960" as="targetPoint"/>
<Array as="points">
<mxPoint x="1540" y="1365"/>
<mxPoint x="458" y="1063"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="76" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=14;fontColor=#FF8000;startArrow=none;startFill=0;endArrow=classic;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="65" target="58">
<mxCell id="55" value="&lt;div style=&quot;text-align: center&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;existing Community-A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- uuid_A&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- url_A&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#d5e8d4;strokeColor=#82b366;gradientColor=#97d077;" parent="1" vertex="1">
<mxGeometry x="80" y="1320" width="480" height="240" as="geometry"/>
</mxCell>
<mxCell id="56" value="&amp;nbsp;* url_B / pubkey_B / uuid_B &lt;font color=&quot;#ff8000&quot;&gt;/ communityTO_B&lt;br&gt;&lt;/font&gt;&lt;br&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" parent="1" vertex="1">
<mxGeometry x="80" y="1399" width="300" height="50" as="geometry"/>
</mxCell>
<mxCell id="57" value="&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Community-B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - uuid_B&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - url_B&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - apiVer_B&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=14;align=left;fillColor=#dae8fc;strokeColor=#6c8ebf;gradientColor=#7ea6e0;" parent="1" vertex="1">
<mxGeometry x="1360" y="1320" width="720" height="240" as="geometry"/>
</mxCell>
<mxCell id="58" value="&amp;nbsp;* url_A / pubkey_A / apiVer_A / uuid_A &lt;font color=&quot;#ff8000&quot;&gt;/ communityTO_A&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" parent="1" vertex="1">
<mxGeometry x="1570" y="1413" width="510" height="50" as="geometry"/>
</mxCell>
<mxCell id="59" value="" style="endArrow=classic;html=1;fontSize=14;exitX=1;exitY=0.329;exitDx=0;exitDy=0;entryX=0.003;entryY=0.338;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" parent="1" source="55" target="57" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="920" y="1490" as="sourcePoint"/>
<mxPoint x="970" y="1440" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="60" value="&lt;b&gt;&amp;nbsp; request: &lt;/b&gt;http://&amp;lt;url_B&amp;gt;/&amp;lt;apiVer_B&amp;gt;/familiarizeCommunity( encrypted uuid_B, pubkey_A, communityTO_A )&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" parent="59" vertex="1" connectable="0">
<mxGeometry x="-0.215" y="-1" relative="1" as="geometry">
<mxPoint x="65" y="-5" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="61" value="encrypt uuid_B&amp;nbsp;&amp;nbsp;&lt;br&gt;with pubkey_B&lt;br&gt;and init CommunityTO : &lt;br&gt;- uuid_A&lt;br&gt;- etc." style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" parent="1" vertex="1">
<mxGeometry x="420" y="1348.5" width="120" height="100.5" as="geometry"/>
</mxCell>
<mxCell id="62" value="" style="endArrow=classic;html=1;fontSize=14;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" parent="1" source="57" target="55" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="990" y="1150" as="sourcePoint"/>
<mxPoint x="1040" y="1100" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="63" value="&lt;b&gt;&amp;nbsp; response:&lt;/b&gt;&amp;nbsp;communityTO_B&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" parent="62" vertex="1" connectable="0">
<mxGeometry x="0.255" y="2" relative="1" as="geometry">
<mxPoint x="52" y="-3" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="74" value="" style="edgeStyle=none;html=1;fontSize=14;fontColor=#FF8000;startArrow=none;startFill=0;endArrow=classic;endFill=1;" parent="1" source="64" target="65" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="64" value="decrypt encoded_uuid_B&amp;nbsp;&amp;nbsp;&lt;br&gt;with privatkey_B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" parent="1" vertex="1">
<mxGeometry x="1375" y="1372" width="110" height="48" as="geometry"/>
</mxCell>
<mxCell id="75" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=14;fontColor=#FF8000;startArrow=none;startFill=0;endArrow=classic;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="65" target="73" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1540" y="1365"/>
<mxPoint x="1540" y="1338"/>
<mxPoint x="1540" y="1465"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="77" value="yes" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;fontColor=#FF8000;" vertex="1" connectable="0" parent="76">
<mxCell id="76" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=14;fontColor=#FF8000;startArrow=none;startFill=0;endArrow=classic;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="65" target="58" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1540" y="1465"/>
<mxPoint x="1540" y="1438"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="77" value="yes" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;fontColor=#FF8000;" parent="76" vertex="1" connectable="0">
<mxGeometry x="-0.7009" y="1" relative="1" as="geometry">
<mxPoint y="1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="65" value="matching &lt;br&gt;uui_B&amp;nbsp;?" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
<mxGeometry x="1370" y="1340" width="120" height="50" as="geometry"/>
<mxCell id="65" value="matching &lt;br&gt;uui_B&amp;nbsp;?" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" parent="1" vertex="1">
<mxGeometry x="1370" y="1440" width="120" height="50" as="geometry"/>
</mxCell>
<mxCell id="67" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="51" target="53">
<mxCell id="67" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="51" target="53" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1350" y="1050" as="sourcePoint"/>
<mxPoint x="1400" y="1000" as="targetPoint"/>
<mxPoint x="1350" y="970" as="sourcePoint"/>
<mxPoint x="1400" y="920" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="68" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.005;exitY=0.338;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="44" target="51">
<mxCell id="68" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.21;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="44" target="51" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1350" y="1050" as="sourcePoint"/>
<mxPoint x="1400" y="1000" as="targetPoint"/>
<mxPoint x="1350" y="970" as="sourcePoint"/>
<mxPoint x="1400" y="920" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="71" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="53" target="44">
<mxCell id="71" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.002;entryY=0.46;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=none;" parent="1" source="100" target="44" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1300" y="1220" as="sourcePoint"/>
<mxPoint x="1350" y="1170" as="targetPoint"/>
<mxPoint x="1300" y="1140" as="sourcePoint"/>
<mxPoint x="1350" y="1090" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="72" value="yes" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;fontColor=#FF8000;" vertex="1" connectable="0" parent="71">
<mxGeometry x="0.4703" y="1" relative="1" as="geometry">
<mxPoint x="24" y="-8" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="78" style="edgeStyle=none;html=1;entryX=0;entryY=0.75;entryDx=0;entryDy=0;fontSize=14;fontColor=#FF8000;startArrow=none;startFill=0;endArrow=classic;endFill=1;" edge="1" parent="1" source="73" target="57">
<mxCell id="78" style="edgeStyle=none;html=1;entryX=0;entryY=0.75;entryDx=0;entryDy=0;fontSize=14;fontColor=#FF8000;startArrow=none;startFill=0;endArrow=classic;endFill=1;" parent="1" source="73" target="57" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="73" value="init communityTO_B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" vertex="1" parent="1">
<mxGeometry x="1470" y="1400" width="140" height="30" as="geometry"/>
<mxCell id="73" value="init communityTO_B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" parent="1" vertex="1">
<mxGeometry x="1470" y="1500" width="140" height="30" as="geometry"/>
</mxCell>
<mxCell id="79" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="55" target="56">
<mxCell id="79" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;" parent="1" source="55" target="56" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="300" y="1370" as="sourcePoint"/>
<mxPoint x="350" y="1320" as="targetPoint"/>
<mxPoint x="300" y="1470" as="sourcePoint"/>
<mxPoint x="350" y="1420" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="80" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=4;fontSize=14;fontColor=#FF8000;" edge="1" parent="1">
<mxCell id="80" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=4;fontSize=14;fontColor=#FF8000;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="40" y="880" as="sourcePoint"/>
<mxPoint x="1960" y="880" as="targetPoint"/>
<mxPoint x="40" y="840" as="sourcePoint"/>
<mxPoint x="1960" y="840" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="81" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;Federation&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontColor=#000000;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="40" y="840" width="120" height="30" as="geometry"/>
<mxCell id="81" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;Federation&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontColor=#000000;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="40" y="800" width="120" height="30" as="geometry"/>
</mxCell>
<mxCell id="82" value="&lt;font style=&quot;font-size: 18px&quot;&gt;GraphQL&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontColor=#000000;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="40" y="890" width="160" height="30" as="geometry"/>
<mxCell id="82" value="&lt;font style=&quot;font-size: 18px&quot;&gt;GraphQL&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontColor=#000000;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="40" y="850" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="97" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontColor=#9933FF;" edge="1" parent="1" source="83" target="45">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1895" y="995"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="83" value="&lt;font color=&quot;#00ff00&quot;&gt;url_A&amp;nbsp;&lt;/font&gt;==&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff0000&quot;&gt;unsigned url_A&lt;/font&gt;?" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
<mxGeometry x="1805" y="970" width="180" height="50" as="geometry"/>
</mxCell>
<mxCell id="85" value="" style="endArrow=classic;html=1;fontSize=14;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.001;entryY=0.6;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="87" target="44">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="571.0799999999999" y="970" as="sourcePoint"/>
<mxPoint x="1372.1999999999998" y="972" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="86" value="&lt;b&gt;&amp;nbsp; redirect: &lt;/b&gt;http://&amp;lt;redirect_URL&amp;gt;( &lt;font color=&quot;#ff00ff&quot;&gt;&lt;b&gt;onetimeCode&lt;/b&gt;&lt;/font&gt;,&amp;nbsp;&lt;font color=&quot;#ff0000&quot;&gt;&lt;b&gt;encrypted&amp;nbsp;uuid_A&lt;/b&gt;&lt;/font&gt;)&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="85">
<mxGeometry x="-0.215" y="-1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="87" value="decrypt redirect_URL&amp;nbsp;&amp;nbsp;&lt;br&gt;with &lt;font color=&quot;#ff8000&quot;&gt;pubkey_B&lt;/font&gt; +&lt;br&gt;encrypt &lt;font color=&quot;#000000&quot;&gt;uuid_A&lt;/font&gt; with privatKey_A&amp;nbsp;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" vertex="1" parent="1">
<mxGeometry x="380" y="1080" width="155" height="70" as="geometry"/>
</mxCell>
<mxCell id="104" style="edgeStyle=none;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontColor=#FFFFFF;startArrow=none;startFill=0;endArrow=classic;endFill=1;" edge="1" parent="1" source="88" target="103">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1895" y="1125"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="88" value="decrypt &lt;font color=&quot;#ff0000&quot;&gt;&lt;b&gt;encoded_uuid_A&lt;/b&gt;&lt;/font&gt;&amp;nbsp; &lt;br&gt;with &lt;font color=&quot;#00ff00&quot; style=&quot;font-weight: bold&quot;&gt;pubkey_A&lt;/font&gt; of &lt;font color=&quot;#ff00ff&quot; style=&quot;font-weight: bold&quot;&gt;oneTImeCode&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" vertex="1" parent="1">
<mxGeometry x="1630" y="1105" width="226.28" height="40" as="geometry"/>
</mxCell>
<mxCell id="90" value="known &amp;amp; valid&lt;br&gt;&lt;font color=&quot;#ff00ff&quot;&gt;oneTimeCode&lt;/font&gt;?" style="rhombus;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;" vertex="1" parent="1">
<mxGeometry x="1403.72" y="1100" width="180" height="50" as="geometry"/>
</mxCell>
<mxCell id="91" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="90" target="88">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1363.72" y="1160" as="sourcePoint"/>
<mxPoint x="1413.72" y="1110" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="92" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.873;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="106" target="44">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1493.7200000000003" y="1210" as="sourcePoint"/>
<mxPoint x="1375.0000000000002" y="1254" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="95" value="" style="endArrow=classic;html=1;fontSize=14;exitX=0.002;exitY=0.273;exitDx=0;exitDy=0;entryX=1;entryY=0.275;entryDx=0;entryDy=0;exitPerimeter=0;entryPerimeter=0;" edge="1" parent="1" source="44" target="42">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1368.7199999999998" y="1071.2" as="sourcePoint"/>
<mxPoint x="570" y="1072" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="96" value="&lt;b&gt;&amp;nbsp; response:&lt;/b&gt;&amp;nbsp;OK" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="95">
<mxGeometry x="0.255" y="2" relative="1" as="geometry">
<mxPoint x="52" y="-3" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="98" value="decrypt &lt;font color=&quot;#ff0000&quot;&gt;signed_url_A&lt;/font&gt;&amp;nbsp; &lt;br&gt;with &lt;font color=&quot;#00ff00&quot;&gt;pubkey_A&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" vertex="1" parent="1">
<mxGeometry x="1600" y="975" width="180" height="40" as="geometry"/>
</mxCell>
<mxCell id="99" value="" style="edgeStyle=none;html=1;fontColor=#00FF00;endArrow=none;" edge="1" parent="1" source="53" target="98">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1570" y="995" as="sourcePoint"/>
<mxPoint x="1805" y="995" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="100" value="encrypt redirect_URL&amp;nbsp;&amp;nbsp;&lt;br&gt;with privatkey_B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" vertex="1" parent="1">
<mxGeometry x="1403.72" y="1045" width="180" height="40" as="geometry"/>
</mxCell>
<mxCell id="101" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;endFill=1;" edge="1" parent="1" source="45" target="100">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1710" y="1065" as="sourcePoint"/>
<mxPoint x="1361.44" y="1064" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="102" value="" style="endArrow=classic;html=1;fontSize=14;fontColor=#FF8000;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="90">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1360" y="1120" as="sourcePoint"/>
<mxPoint x="1400" y="940" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="107" style="edgeStyle=none;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fontColor=#000000;startArrow=none;startFill=0;endArrow=classic;endFill=1;" edge="1" parent="1" source="103" target="106">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1895" y="1230"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="103" value="&lt;font color=&quot;#00ff00&quot;&gt;&amp;nbsp;* &lt;b&gt;url_A / pubkey_A&lt;/b&gt;&lt;/font&gt; / apiVer_A / &lt;b&gt;&lt;strike&gt;&lt;font color=&quot;#000000&quot;&gt;oneTimeCode&lt;/font&gt;&lt;/strike&gt;&lt;font color=&quot;#00ff00&quot;&gt; / uuid_A&lt;/font&gt;&lt;/b&gt;&lt;br&gt;&amp;nbsp;* url_A / pubkey_A'" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" vertex="1" parent="1">
<mxGeometry x="1710" y="1160" width="370" height="50" as="geometry"/>
</mxCell>
<mxCell id="106" value="encrypt &lt;font color=&quot;#000000&quot;&gt;uuid_B&lt;/font&gt;&amp;nbsp;&amp;nbsp;&lt;br&gt;with privatkey_B" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#1ba1e2;fontColor=#ffffff;strokeColor=#006EAF;align=left;" vertex="1" parent="1">
<mxGeometry x="1410" y="1210" width="180" height="40" as="geometry"/>
</mxCell>
<mxCell id="108" value="" style="endArrow=classic;html=1;fontSize=14;exitX=0.001;exitY=0.873;exitDx=0;exitDy=0;entryX=0.997;entryY=0.875;entryDx=0;entryDy=0;exitPerimeter=0;entryPerimeter=0;" edge="1" parent="1" source="44" target="42">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1368.56" y="1071.2" as="sourcePoint"/>
<mxPoint x="570" y="1072" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="109" value="&lt;b&gt;&amp;nbsp; response: &lt;/b&gt;encrypted uuid_B&amp;nbsp;&amp;nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="108">
<mxGeometry x="0.255" y="2" relative="1" as="geometry">
<mxPoint x="72" y="-3" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="110" value="decrypt encoded_uuid_B&amp;nbsp;&amp;nbsp;&lt;br&gt;with &lt;font color=&quot;#ff8000&quot;&gt;pubkey_B&lt;/font&gt; &amp;nbsp;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=14;fillColor=#60a917;fontColor=#ffffff;strokeColor=#2D7600;align=left;" vertex="1" parent="1">
<mxGeometry x="360" y="1205" width="155" height="50" as="geometry"/>
</mxCell>
<mxCell id="111" value="" style="endArrow=classic;html=1;fontSize=14;exitX=1;exitY=0.873;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="1" source="42" target="110">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="571.44" y="1073.2" as="sourcePoint"/>
<mxPoint x="467.5" y="1090" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="112" value="" style="endArrow=classic;html=1;fontSize=14;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="110" target="43">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="570" y="1239.2" as="sourcePoint"/>
<mxPoint x="525" y="1240" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 373 KiB