Browse Source

Update dependency graph. We should really break the codemirror
dependency some day (but not this day).

Ian Rose 5 years ago
parent
commit
89d381ef62
1 changed files with 331 additions and 235 deletions
  1. 331 235
      docs/source/developer/dependency-graph.svg

+ 331 - 235
docs/source/developer/dependency-graph.svg

@@ -4,17 +4,17 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: G Pages: 1 -->
-<svg width="1335pt" height="804pt"
- viewBox="0.00 0.00 1334.61 803.60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 799.6)">
+<svg width="1598pt" height="962pt"
+ viewBox="0.00 0.00 1598.09 962.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 958)">
 <title>G</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-799.6 1330.6078,-799.6 1330.6078,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-958 1594.0877,-958 1594.0877,4 -4,4"/>
 <!-- application -->
 <g id="node1" class="node">
 <title>application</title>
 <g id="a_node1"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/application" xlink:title="application">
-<ellipse fill="none" stroke="#000000" cx="193.6078" cy="-573.7327" rx="50.0912" ry="18"/>
-<text text-anchor="middle" x="193.6078" y="-570.0327" font-family="Times,serif" font-size="14.00" fill="#000000">application</text>
+<ellipse fill="none" stroke="#000000" cx="245.0877" cy="-512.2927" rx="50.0912" ry="18"/>
+<text text-anchor="middle" x="245.0877" y="-508.5927" font-family="Times,serif" font-size="14.00" fill="#000000">application</text>
 </a>
 </g>
 </g>
@@ -22,38 +22,38 @@
 <g id="node2" class="node">
 <title>docregistry</title>
 <g id="a_node2"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/docregistry" xlink:title="docregistry">
-<ellipse fill="none" stroke="#000000" cx="339.6078" cy="-478.7327" rx="50.0912" ry="18"/>
-<text text-anchor="middle" x="339.6078" y="-475.0327" font-family="Times,serif" font-size="14.00" fill="#000000">docregistry</text>
+<ellipse fill="none" stroke="#000000" cx="409.0877" cy="-616.2927" rx="50.0912" ry="18"/>
+<text text-anchor="middle" x="409.0877" y="-612.5927" font-family="Times,serif" font-size="14.00" fill="#000000">docregistry</text>
 </a>
 </g>
 </g>
 <!-- application&#45;&gt;docregistry -->
 <g id="edge1" class="edge">
 <title>application&#45;&gt;docregistry</title>
-<path fill="none" stroke="#000000" d="M218.045,-557.8319C242.2585,-542.0765 279.5179,-517.8324 306.4044,-500.3377"/>
-<polygon fill="#000000" stroke="#000000" points="308.6181,-503.0731 315.091,-494.6855 304.8003,-497.2058 308.6181,-503.0731"/>
+<path fill="none" stroke="#000000" d="M272.6792,-527.5777C286.4087,-535.3434 303.1722,-545.0674 317.8812,-554.2927 338.0476,-566.9408 360.1383,-581.9271 377.5277,-593.9972"/>
+<polygon fill="#000000" stroke="#000000" points="375.9531,-597.1662 386.1576,-600.0155 379.9572,-591.4245 375.9531,-597.1662"/>
 </g>
 <!-- rendermime -->
-<g id="node6" class="node">
+<g id="node7" class="node">
 <title>rendermime</title>
-<g id="a_node6"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/rendermime" xlink:title="rendermime">
-<ellipse fill="none" stroke="#000000" cx="482.6078" cy="-221.7327" rx="53.8905" ry="18"/>
-<text text-anchor="middle" x="482.6078" y="-218.0327" font-family="Times,serif" font-size="14.00" fill="#000000">rendermime</text>
+<g id="a_node7"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/rendermime" xlink:title="rendermime">
+<ellipse fill="none" stroke="#000000" cx="696.0877" cy="-372.2927" rx="53.8905" ry="18"/>
+<text text-anchor="middle" x="696.0877" y="-368.5927" font-family="Times,serif" font-size="14.00" fill="#000000">rendermime</text>
 </a>
 </g>
 </g>
 <!-- docregistry&#45;&gt;rendermime -->
-<g id="edge3" class="edge">
+<g id="edge4" class="edge">
 <title>docregistry&#45;&gt;rendermime</title>
-<path fill="none" stroke="#000000" d="M346.4258,-460.8344C359.8753,-426.4309 391.7441,-349.2128 428.6626,-289.7327 437.9848,-274.7137 450.0904,-259.181 460.4713,-246.7588"/>
-<polygon fill="#000000" stroke="#000000" points="463.1873,-248.9677 466.9974,-239.0816 457.8539,-244.434 463.1873,-248.9677"/>
+<path fill="none" stroke="#000000" d="M435.0619,-600.7883C474.7934,-576.2525 551.6931,-525.4603 605.3829,-469.2927 625.4442,-448.3055 622.4003,-436.5803 642.1424,-415.2927 648.7811,-408.1343 656.6616,-401.1748 664.32,-395.0134"/>
+<polygon fill="#000000" stroke="#000000" points="666.7306,-397.5724 672.4737,-388.6692 662.432,-392.0478 666.7306,-397.5724"/>
 </g>
 <!-- apputils -->
 <g id="node3" class="node">
 <title>apputils</title>
 <g id="a_node3"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/apputils" xlink:title="apputils">
-<ellipse fill="none" stroke="#000000" cx="1015.6078" cy="-364.7327" rx="38.1938" ry="18"/>
-<text text-anchor="middle" x="1015.6078" y="-361.0327" font-family="Times,serif" font-size="14.00" fill="#000000">apputils</text>
+<ellipse fill="none" stroke="#000000" cx="1239.0877" cy="-232.2927" rx="38.1938" ry="18"/>
+<text text-anchor="middle" x="1239.0877" y="-228.5927" font-family="Times,serif" font-size="14.00" fill="#000000">apputils</text>
 </a>
 </g>
 </g>
@@ -61,442 +61,538 @@
 <g id="node4" class="node">
 <title>services</title>
 <g id="a_node4"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/services" xlink:title="services">
-<ellipse fill="none" stroke="#000000" cx="1138.6078" cy="-316.7327" rx="38.9931" ry="18"/>
-<text text-anchor="middle" x="1138.6078" y="-313.0327" font-family="Times,serif" font-size="14.00" fill="#000000">services</text>
+<ellipse fill="none" stroke="#000000" cx="1386.0877" cy="-283.2927" rx="38.9931" ry="18"/>
+<text text-anchor="middle" x="1386.0877" y="-279.5927" font-family="Times,serif" font-size="14.00" fill="#000000">services</text>
 </a>
 </g>
 </g>
 <!-- apputils&#45;&gt;services -->
 <g id="edge2" class="edge">
 <title>apputils&#45;&gt;services</title>
-<path fill="none" stroke="#000000" d="M1045.3827,-353.1133C1061.5797,-346.7925 1081.8196,-338.894 1099.298,-332.0732"/>
-<polygon fill="#000000" stroke="#000000" points="1100.6375,-335.3076 1108.6809,-328.4116 1098.0926,-328.7865 1100.6375,-335.3076"/>
+<path fill="none" stroke="#000000" d="M1270.2626,-243.1085C1292.0169,-250.6559 1321.2753,-260.8068 1344.9422,-269.0177"/>
+<polygon fill="#000000" stroke="#000000" points="1344.1098,-272.4335 1354.7046,-272.4047 1346.4043,-265.8202 1344.1098,-272.4335"/>
 </g>
-<!-- coreutils -->
+<!-- ui&#45;components -->
 <g id="node5" class="node">
+<title>ui&#45;components</title>
+<g id="a_node5"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/ui-components" xlink:title="ui&#45;components">
+<ellipse fill="none" stroke="#000000" cx="1386.0877" cy="-213.2927" rx="63.8893" ry="18"/>
+<text text-anchor="middle" x="1386.0877" y="-209.5927" font-family="Times,serif" font-size="14.00" fill="#000000">ui&#45;components</text>
+</a>
+</g>
+</g>
+<!-- apputils&#45;&gt;ui&#45;components -->
+<g id="edge3" class="edge">
+<title>apputils&#45;&gt;ui&#45;components</title>
+<path fill="none" stroke="#000000" d="M1276.182,-227.4982C1288.9666,-225.8457 1303.7173,-223.9392 1318.1777,-222.0702"/>
+<polygon fill="#000000" stroke="#000000" points="1318.6458,-225.5389 1328.1147,-220.7858 1317.7485,-218.5966 1318.6458,-225.5389"/>
+</g>
+<!-- coreutils -->
+<g id="node6" class="node">
 <title>coreutils</title>
-<g id="a_node5"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/coreutils" xlink:title="coreutils">
-<ellipse fill="none" stroke="#000000" cx="1274.6078" cy="-316.7327" rx="40.8928" ry="18"/>
-<text text-anchor="middle" x="1274.6078" y="-313.0327" font-family="Times,serif" font-size="14.00" fill="#000000">coreutils</text>
+<g id="a_node6"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/coreutils" xlink:title="coreutils">
+<ellipse fill="none" stroke="#000000" cx="1538.0877" cy="-381.2927" rx="40.8928" ry="18"/>
+<text text-anchor="middle" x="1538.0877" y="-377.5927" font-family="Times,serif" font-size="14.00" fill="#000000">coreutils</text>
 </a>
 </g>
 </g>
 <!-- services&#45;&gt;coreutils -->
-<g id="edge6" class="edge">
+<g id="edge7" class="edge">
 <title>services&#45;&gt;coreutils</title>
-<path fill="none" stroke="#000000" d="M1177.9447,-316.7327C1192.0949,-316.7327 1208.2721,-316.7327 1223.2918,-316.7327"/>
-<polygon fill="#000000" stroke="#000000" points="1223.4661,-320.2328 1233.466,-316.7327 1223.466,-313.2328 1223.4661,-320.2328"/>
+<path fill="none" stroke="#000000" d="M1408.8436,-297.9643C1434.6622,-314.6105 1476.9559,-341.8788 1506.0897,-360.6624"/>
+<polygon fill="#000000" stroke="#000000" points="1504.3748,-363.7211 1514.676,-366.1983 1508.1679,-357.8379 1504.3748,-363.7211"/>
 </g>
 <!-- observables -->
-<g id="node9" class="node">
+<g id="node10" class="node">
 <title>observables</title>
-<g id="a_node9"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/observables" xlink:title="observables">
-<ellipse fill="none" stroke="#000000" cx="1274.6078" cy="-221.7327" rx="51.9908" ry="18"/>
-<text text-anchor="middle" x="1274.6078" y="-218.0327" font-family="Times,serif" font-size="14.00" fill="#000000">observables</text>
+<g id="a_node10"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/observables" xlink:title="observables">
+<ellipse fill="none" stroke="#000000" cx="1538.0877" cy="-292.2927" rx="51.9908" ry="18"/>
+<text text-anchor="middle" x="1538.0877" y="-288.5927" font-family="Times,serif" font-size="14.00" fill="#000000">observables</text>
 </a>
 </g>
 </g>
 <!-- services&#45;&gt;observables -->
-<g id="edge7" class="edge">
+<g id="edge8" class="edge">
 <title>services&#45;&gt;observables</title>
-<path fill="none" stroke="#000000" d="M1160.1574,-301.6797C1182.4984,-286.0739 1217.653,-261.5173 1243.1088,-243.7357"/>
-<polygon fill="#000000" stroke="#000000" points="1245.1436,-246.5838 1251.3373,-237.9879 1241.135,-240.8452 1245.1436,-246.5838"/>
+<path fill="none" stroke="#000000" d="M1424.837,-285.587C1440.5716,-286.5187 1459.1363,-287.6179 1476.6327,-288.6539"/>
+<polygon fill="#000000" stroke="#000000" points="1476.592,-292.1575 1486.7814,-289.2548 1477.0058,-285.1698 1476.592,-292.1575"/>
 </g>
 <!-- rendermime&#45;interfaces -->
-<g id="node7" class="node">
+<g id="node8" class="node">
 <title>rendermime&#45;interfaces</title>
-<g id="a_node7"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/rendermime-interfaces" xlink:title="rendermime&#45;interfaces">
-<ellipse fill="none" stroke="#000000" cx="663.6078" cy="-316.7327" rx="90.9839" ry="18"/>
-<text text-anchor="middle" x="663.6078" y="-313.0327" font-family="Times,serif" font-size="14.00" fill="#000000">rendermime&#45;interfaces</text>
+<g id="a_node8"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/rendermime-interfaces" xlink:title="rendermime&#45;interfaces">
+<ellipse fill="none" stroke="#000000" cx="877.0877" cy="-442.2927" rx="90.9839" ry="18"/>
+<text text-anchor="middle" x="877.0877" y="-438.5927" font-family="Times,serif" font-size="14.00" fill="#000000">rendermime&#45;interfaces</text>
 </a>
 </g>
 </g>
 <!-- rendermime&#45;&gt;rendermime&#45;interfaces -->
-<g id="edge4" class="edge">
+<g id="edge5" class="edge">
 <title>rendermime&#45;&gt;rendermime&#45;interfaces</title>
-<path fill="none" stroke="#000000" d="M511.6886,-236.9961C541.5577,-252.6733 588.3275,-277.221 622.0856,-294.9393"/>
-<polygon fill="#000000" stroke="#000000" points="620.7562,-298.1943 631.2373,-299.7427 624.0094,-291.9961 620.7562,-298.1943"/>
+<path fill="none" stroke="#000000" d="M731.416,-385.9556C758.3374,-396.3672 795.792,-410.8524 825.9805,-422.5275"/>
+<polygon fill="#000000" stroke="#000000" points="824.9148,-425.8679 835.504,-426.2106 827.4397,-419.3391 824.9148,-425.8679"/>
 </g>
 <!-- codemirror -->
-<g id="node8" class="node">
+<g id="node9" class="node">
 <title>codemirror</title>
-<g id="a_node8"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/codemirror" xlink:title="codemirror">
-<ellipse fill="none" stroke="#000000" cx="663.6078" cy="-221.7327" rx="50.0912" ry="18"/>
-<text text-anchor="middle" x="663.6078" y="-218.0327" font-family="Times,serif" font-size="14.00" fill="#000000">codemirror</text>
+<g id="a_node9"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/codemirror" xlink:title="codemirror">
+<ellipse fill="none" stroke="#000000" cx="877.0877" cy="-372.2927" rx="50.0912" ry="18"/>
+<text text-anchor="middle" x="877.0877" y="-368.5927" font-family="Times,serif" font-size="14.00" fill="#000000">codemirror</text>
 </a>
 </g>
 </g>
 <!-- rendermime&#45;&gt;codemirror -->
-<g id="edge5" class="edge">
+<g id="edge6" class="edge">
 <title>rendermime&#45;&gt;codemirror</title>
-<path fill="none" stroke="#000000" d="M536.9138,-221.7327C557.7643,-221.7327 581.6835,-221.7327 603.0823,-221.7327"/>
-<polygon fill="#000000" stroke="#000000" points="603.3602,-225.2328 613.3602,-221.7327 603.3601,-218.2328 603.3602,-225.2328"/>
+<path fill="none" stroke="#000000" d="M750.3936,-372.2927C771.2441,-372.2927 795.1633,-372.2927 816.5621,-372.2927"/>
+<polygon fill="#000000" stroke="#000000" points="816.84,-375.7928 826.84,-372.2927 816.84,-368.7928 816.84,-375.7928"/>
 </g>
 <!-- statusbar -->
-<g id="node14" class="node">
+<g id="node15" class="node">
 <title>statusbar</title>
-<g id="a_node14"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/statusbar" xlink:title="statusbar">
-<ellipse fill="none" stroke="#000000" cx="866.6078" cy="-221.7327" rx="42.4939" ry="18"/>
-<text text-anchor="middle" x="866.6078" y="-218.0327" font-family="Times,serif" font-size="14.00" fill="#000000">statusbar</text>
+<g id="a_node15"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/statusbar" xlink:title="statusbar">
+<ellipse fill="none" stroke="#000000" cx="1079.0877" cy="-372.2927" rx="42.4939" ry="18"/>
+<text text-anchor="middle" x="1079.0877" y="-368.5927" font-family="Times,serif" font-size="14.00" fill="#000000">statusbar</text>
 </a>
 </g>
 </g>
 <!-- codemirror&#45;&gt;statusbar -->
-<g id="edge13" class="edge">
+<g id="edge14" class="edge">
 <title>codemirror&#45;&gt;statusbar</title>
-<path fill="none" stroke="#000000" d="M713.7876,-221.7327C744.2731,-221.7327 783.1404,-221.7327 814.0481,-221.7327"/>
-<polygon fill="#000000" stroke="#000000" points="814.2011,-225.2328 824.2011,-221.7327 814.2011,-218.2328 814.2011,-225.2328"/>
+<path fill="none" stroke="#000000" d="M927.2798,-372.2927C957.5135,-372.2927 995.9605,-372.2927 1026.5975,-372.2927"/>
+<polygon fill="#000000" stroke="#000000" points="1026.6649,-375.7928 1036.6649,-372.2927 1026.6649,-368.7928 1026.6649,-375.7928"/>
 </g>
 <!-- attachments -->
-<g id="node10" class="node">
+<g id="node11" class="node">
 <title>attachments</title>
-<g id="a_node10"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/attachments" xlink:title="attachments">
-<ellipse fill="none" stroke="#000000" cx="339.6078" cy="-221.7327" rx="53.0913" ry="18"/>
-<text text-anchor="middle" x="339.6078" y="-218.0327" font-family="Times,serif" font-size="14.00" fill="#000000">attachments</text>
+<g id="a_node11"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/attachments" xlink:title="attachments">
+<ellipse fill="none" stroke="#000000" cx="552.0877" cy="-372.2927" rx="53.0913" ry="18"/>
+<text text-anchor="middle" x="552.0877" y="-368.5927" font-family="Times,serif" font-size="14.00" fill="#000000">attachments</text>
 </a>
 </g>
 </g>
 <!-- attachments&#45;&gt;rendermime -->
-<g id="edge8" class="edge">
+<g id="edge9" class="edge">
 <title>attachments&#45;&gt;rendermime</title>
-<path fill="none" stroke="#000000" d="M393.2626,-221.7327C401.4887,-221.7327 410.0514,-221.7327 418.4762,-221.7327"/>
-<polygon fill="#000000" stroke="#000000" points="418.6524,-225.2328 428.6524,-221.7327 418.6523,-218.2328 418.6524,-225.2328"/>
+<path fill="none" stroke="#000000" d="M605.7079,-372.2927C614.214,-372.2927 623.0869,-372.2927 631.807,-372.2927"/>
+<polygon fill="#000000" stroke="#000000" points="631.9424,-375.7928 641.9424,-372.2927 631.9423,-368.7928 631.9424,-375.7928"/>
 </g>
 <!-- cells -->
-<g id="node11" class="node">
+<g id="node12" class="node">
 <title>cells</title>
-<g id="a_node11"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/cells" xlink:title="cells">
-<ellipse fill="none" stroke="#000000" cx="193.6078" cy="-221.7327" rx="27" ry="18"/>
-<text text-anchor="middle" x="193.6078" y="-218.0327" font-family="Times,serif" font-size="14.00" fill="#000000">cells</text>
+<g id="a_node12"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/cells" xlink:title="cells">
+<ellipse fill="none" stroke="#000000" cx="409.0877" cy="-372.2927" rx="27" ry="18"/>
+<text text-anchor="middle" x="409.0877" y="-368.5927" font-family="Times,serif" font-size="14.00" fill="#000000">cells</text>
 </a>
 </g>
 </g>
 <!-- cells&#45;&gt;attachments -->
-<g id="edge9" class="edge">
+<g id="edge10" class="edge">
 <title>cells&#45;&gt;attachments</title>
-<path fill="none" stroke="#000000" d="M220.7272,-221.7327C236.3169,-221.7327 256.6015,-221.7327 275.9885,-221.7327"/>
-<polygon fill="#000000" stroke="#000000" points="276.0153,-225.2328 286.0153,-221.7327 276.0152,-218.2328 276.0153,-225.2328"/>
+<path fill="none" stroke="#000000" d="M436.3215,-372.2927C451.1585,-372.2927 470.1883,-372.2927 488.5148,-372.2927"/>
+<polygon fill="#000000" stroke="#000000" points="488.5927,-375.7928 498.5927,-372.2927 488.5926,-368.7928 488.5927,-375.7928"/>
 </g>
 <!-- outputarea -->
-<g id="node12" class="node">
+<g id="node13" class="node">
 <title>outputarea</title>
-<g id="a_node12"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/outputarea" xlink:title="outputarea">
-<ellipse fill="none" stroke="#000000" cx="339.6078" cy="-316.7327" rx="48.1917" ry="18"/>
-<text text-anchor="middle" x="339.6078" y="-313.0327" font-family="Times,serif" font-size="14.00" fill="#000000">outputarea</text>
+<g id="a_node13"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/outputarea" xlink:title="outputarea">
+<ellipse fill="none" stroke="#000000" cx="552.0877" cy="-442.2927" rx="48.1917" ry="18"/>
+<text text-anchor="middle" x="552.0877" y="-438.5927" font-family="Times,serif" font-size="14.00" fill="#000000">outputarea</text>
 </a>
 </g>
 </g>
 <!-- cells&#45;&gt;outputarea -->
-<g id="edge10" class="edge">
+<g id="edge11" class="edge">
 <title>cells&#45;&gt;outputarea</title>
-<path fill="none" stroke="#000000" d="M212.9955,-234.348C236.9665,-249.9456 278.1263,-276.7276 306.9926,-295.5105"/>
-<polygon fill="#000000" stroke="#000000" points="305.2331,-298.5413 315.5238,-301.0616 309.0509,-292.674 305.2331,-298.5413"/>
+<path fill="none" stroke="#000000" d="M431.118,-383.0768C453.1238,-393.8488 487.392,-410.6235 513.8455,-423.5727"/>
+<polygon fill="#000000" stroke="#000000" points="512.3231,-426.7243 522.8436,-427.9774 515.4007,-420.4372 512.3231,-426.7243"/>
 </g>
 <!-- outputarea&#45;&gt;rendermime -->
-<g id="edge14" class="edge">
+<g id="edge15" class="edge">
 <title>outputarea&#45;&gt;rendermime</title>
-<path fill="none" stroke="#000000" d="M363.2214,-301.0454C386.7409,-285.4205 423.0546,-261.2961 449.4583,-243.7552"/>
-<polygon fill="#000000" stroke="#000000" points="451.6071,-246.5296 457.9998,-238.0807 447.7336,-240.699 451.6071,-246.5296"/>
+<path fill="none" stroke="#000000" d="M581.5757,-427.9582C603.0774,-417.506 632.4597,-403.223 656.0776,-391.742"/>
+<polygon fill="#000000" stroke="#000000" points="657.6828,-394.8534 665.1463,-387.3336 654.6224,-388.5578 657.6828,-394.8534"/>
 </g>
 <!-- codeeditor -->
-<g id="node13" class="node">
+<g id="node14" class="node">
 <title>codeeditor</title>
-<g id="a_node13"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/codeeditor" xlink:title="codeeditor">
-<ellipse fill="none" stroke="#000000" cx="1138.6078" cy="-221.7327" rx="48.1917" ry="18"/>
-<text text-anchor="middle" x="1138.6078" y="-218.0327" font-family="Times,serif" font-size="14.00" fill="#000000">codeeditor</text>
+<g id="a_node14"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/codeeditor" xlink:title="codeeditor">
+<ellipse fill="none" stroke="#000000" cx="1239.0877" cy="-381.2927" rx="48.1917" ry="18"/>
+<text text-anchor="middle" x="1239.0877" y="-377.5927" font-family="Times,serif" font-size="14.00" fill="#000000">codeeditor</text>
 </a>
 </g>
 </g>
 <!-- codeeditor&#45;&gt;coreutils -->
-<g id="edge11" class="edge">
+<g id="edge12" class="edge">
 <title>codeeditor&#45;&gt;coreutils</title>
-<path fill="none" stroke="#000000" d="M1161.3712,-237.6336C1184.0988,-253.5095 1219.1652,-278.0044 1244.2516,-295.528"/>
-<polygon fill="#000000" stroke="#000000" points="1242.4698,-298.5527 1252.6721,-301.41 1246.4784,-292.8141 1242.4698,-298.5527"/>
+<path fill="none" stroke="#000000" d="M1287.4595,-381.2927C1342.2292,-381.2927 1431.0887,-381.2927 1486.9685,-381.2927"/>
+<polygon fill="#000000" stroke="#000000" points="1487.0031,-384.7928 1497.0031,-381.2927 1487.0031,-377.7928 1487.0031,-384.7928"/>
 </g>
 <!-- codeeditor&#45;&gt;observables -->
-<g id="edge12" class="edge">
+<g id="edge13" class="edge">
 <title>codeeditor&#45;&gt;observables</title>
-<path fill="none" stroke="#000000" d="M1186.9393,-221.7327C1195.0811,-221.7327 1203.6345,-221.7327 1212.0749,-221.7327"/>
-<polygon fill="#000000" stroke="#000000" points="1212.279,-225.2328 1222.279,-221.7327 1212.2789,-218.2328 1212.279,-225.2328"/>
+<path fill="none" stroke="#000000" d="M1276.9562,-370.0208C1330.7307,-354.0143 1429.2738,-324.6821 1488.7202,-306.9873"/>
+<polygon fill="#000000" stroke="#000000" points="1490.0427,-310.2455 1498.6286,-304.038 1488.0456,-303.5364 1490.0427,-310.2455"/>
 </g>
 <!-- statusbar&#45;&gt;apputils -->
-<g id="edge15" class="edge">
+<g id="edge16" class="edge">
 <title>statusbar&#45;&gt;apputils</title>
-<path fill="none" stroke="#000000" d="M885.1749,-237.9148C900.6129,-251.5032 923.0429,-271.557 942.0012,-289.7327 959.3837,-306.3978 978.409,-325.8159 992.7621,-340.7179"/>
-<polygon fill="#000000" stroke="#000000" points="990.3592,-343.2688 999.8085,-348.0605 995.4097,-338.4219 990.3592,-343.2688"/>
+<path fill="none" stroke="#000000" d="M1107.74,-358.8529C1122.4658,-351.2482 1140.2554,-340.9366 1154.481,-329.2927 1180.3179,-308.1447 1204.8163,-278.6401 1220.7375,-257.7375"/>
+<polygon fill="#000000" stroke="#000000" points="1223.6154,-259.7334 1226.8108,-249.6319 1218.0135,-255.536 1223.6154,-259.7334"/>
 </g>
 <!-- statusbar&#45;&gt;codeeditor -->
-<g id="edge16" class="edge">
+<g id="edge17" class="edge">
 <title>statusbar&#45;&gt;codeeditor</title>
-<path fill="none" stroke="#000000" d="M909.1078,-221.7327C955.0967,-221.7327 1028.7324,-221.7327 1080.1543,-221.7327"/>
-<polygon fill="#000000" stroke="#000000" points="1080.4496,-225.2328 1090.4496,-221.7327 1080.4495,-218.2328 1080.4496,-225.2328"/>
+<path fill="none" stroke="#000000" d="M1121.1258,-374.6573C1139.4966,-375.6907 1161.3443,-376.9196 1181.2151,-378.0374"/>
+<polygon fill="#000000" stroke="#000000" points="1181.2164,-381.5429 1191.3972,-378.6101 1181.6096,-374.5539 1181.2164,-381.5429"/>
 </g>
 <!-- completer -->
-<g id="node15" class="node">
+<g id="node16" class="node">
 <title>completer</title>
-<g id="a_node15"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/completer" xlink:title="completer">
-<ellipse fill="none" stroke="#000000" cx="866.6078" cy="-126.7327" rx="46.2923" ry="18"/>
-<text text-anchor="middle" x="866.6078" y="-123.0327" font-family="Times,serif" font-size="14.00" fill="#000000">completer</text>
+<g id="a_node16"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/completer" xlink:title="completer">
+<ellipse fill="none" stroke="#000000" cx="1079.0877" cy="-442.2927" rx="46.2923" ry="18"/>
+<text text-anchor="middle" x="1079.0877" y="-438.5927" font-family="Times,serif" font-size="14.00" fill="#000000">completer</text>
 </a>
 </g>
 </g>
 <!-- completer&#45;&gt;apputils -->
-<g id="edge17" class="edge">
+<g id="edge18" class="edge">
 <title>completer&#45;&gt;apputils</title>
-<path fill="none" stroke="#000000" d="M888.7719,-142.5521C905.1919,-155.177 927.1962,-174.1155 942.0012,-194.7327 974.5268,-240.0277 996.7587,-301.9489 1007.7204,-337.1975"/>
-<polygon fill="#000000" stroke="#000000" points="1004.3852,-338.2603 1010.6362,-346.8146 1011.0841,-336.2293 1004.3852,-338.2603"/>
+<path fill="none" stroke="#000000" d="M1111.2577,-429.1379C1125.8205,-421.9697 1142.4302,-411.9538 1154.481,-399.2927 1193.5363,-358.2591 1218.6296,-295.6885 1230.6689,-259.9282"/>
+<polygon fill="#000000" stroke="#000000" points="1234.0787,-260.7609 1233.8534,-250.1685 1227.424,-258.5895 1234.0787,-260.7609"/>
 </g>
 <!-- completer&#45;&gt;codeeditor -->
-<g id="edge18" class="edge">
+<g id="edge19" class="edge">
 <title>completer&#45;&gt;codeeditor</title>
-<path fill="none" stroke="#000000" d="M901.0568,-138.7646C949.9079,-155.8265 1039.3725,-187.0733 1093.4741,-205.9691"/>
-<polygon fill="#000000" stroke="#000000" points="1092.5519,-209.3543 1103.1467,-209.3474 1094.8601,-202.7458 1092.5519,-209.3543"/>
+<path fill="none" stroke="#000000" d="M1112.2398,-429.6534C1136.4517,-420.4226 1169.5031,-407.8218 1195.7981,-397.7968"/>
+<polygon fill="#000000" stroke="#000000" points="1197.0541,-401.0638 1205.1512,-394.231 1194.5604,-394.523 1197.0541,-401.0638"/>
 </g>
 <!-- console -->
-<g id="node16" class="node">
+<g id="node17" class="node">
 <title>console</title>
-<g id="a_node16"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/console" xlink:title="console">
-<ellipse fill="none" stroke="#000000" cx="50.6078" cy="-221.7327" rx="37.8943" ry="18"/>
-<text text-anchor="middle" x="50.6078" y="-218.0327" font-family="Times,serif" font-size="14.00" fill="#000000">console</text>
+<g id="a_node17"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/console" xlink:title="console">
+<ellipse fill="none" stroke="#000000" cx="245.0877" cy="-302.2927" rx="37.8943" ry="18"/>
+<text text-anchor="middle" x="245.0877" y="-298.5927" font-family="Times,serif" font-size="14.00" fill="#000000">console</text>
 </a>
 </g>
 </g>
 <!-- console&#45;&gt;cells -->
-<g id="edge19" class="edge">
+<g id="edge20" class="edge">
 <title>console&#45;&gt;cells</title>
-<path fill="none" stroke="#000000" d="M88.5538,-221.7327C109.5059,-221.7327 135.4295,-221.7327 156.2822,-221.7327"/>
-<polygon fill="#000000" stroke="#000000" points="156.3688,-225.2328 166.3688,-221.7327 156.3687,-218.2328 156.3688,-225.2328"/>
+<path fill="none" stroke="#000000" d="M273.2803,-314.3261C302.1211,-326.6362 346.8616,-345.7328 377.0318,-358.6103"/>
+<polygon fill="#000000" stroke="#000000" points="375.7055,-361.8496 386.2768,-362.5563 378.4535,-355.4116 375.7055,-361.8496"/>
 </g>
 <!-- csvviewer -->
-<g id="node17" class="node">
+<g id="node18" class="node">
 <title>csvviewer</title>
-<g id="a_node17"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/csvviewer" xlink:title="csvviewer">
-<ellipse fill="none" stroke="#000000" cx="193.6078" cy="-478.7327" rx="46.2923" ry="18"/>
-<text text-anchor="middle" x="193.6078" y="-475.0327" font-family="Times,serif" font-size="14.00" fill="#000000">csvviewer</text>
+<g id="a_node18"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/csvviewer" xlink:title="csvviewer">
+<ellipse fill="none" stroke="#000000" cx="245.0877" cy="-442.2927" rx="46.2923" ry="18"/>
+<text text-anchor="middle" x="245.0877" y="-438.5927" font-family="Times,serif" font-size="14.00" fill="#000000">csvviewer</text>
 </a>
 </g>
 </g>
 <!-- csvviewer&#45;&gt;docregistry -->
-<g id="edge20" class="edge">
+<g id="edge21" class="edge">
 <title>csvviewer&#45;&gt;docregistry</title>
-<path fill="none" stroke="#000000" d="M239.8032,-478.7327C252.262,-478.7327 265.9305,-478.7327 279.0469,-478.7327"/>
-<polygon fill="#000000" stroke="#000000" points="279.414,-482.2328 289.414,-478.7327 279.414,-475.2328 279.414,-482.2328"/>
+<path fill="none" stroke="#000000" d="M275.0313,-456.2254C289.0066,-463.6252 305.2933,-473.6108 317.8812,-485.2927 351.0962,-516.1169 379.0905,-561.0096 394.9824,-589.4231"/>
+<polygon fill="#000000" stroke="#000000" points="392.0195,-591.2992 399.8979,-598.3831 398.1566,-587.9323 392.0195,-591.2992"/>
 </g>
 <!-- docmanager -->
-<g id="node18" class="node">
+<g id="node19" class="node">
 <title>docmanager</title>
-<g id="a_node18"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/docmanager" xlink:title="docmanager">
-<ellipse fill="none" stroke="#000000" cx="193.6078" cy="-668.7327" rx="53.8905" ry="18"/>
-<text text-anchor="middle" x="193.6078" y="-665.0327" font-family="Times,serif" font-size="14.00" fill="#000000">docmanager</text>
+<g id="a_node19"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/docmanager" xlink:title="docmanager">
+<ellipse fill="none" stroke="#000000" cx="245.0877" cy="-930.2927" rx="53.8905" ry="18"/>
+<text text-anchor="middle" x="245.0877" y="-926.5927" font-family="Times,serif" font-size="14.00" fill="#000000">docmanager</text>
 </a>
 </g>
 </g>
 <!-- docmanager&#45;&gt;docregistry -->
-<g id="edge21" class="edge">
+<g id="edge22" class="edge">
 <title>docmanager&#45;&gt;docregistry</title>
-<path fill="none" stroke="#000000" d="M208.5508,-651.3614C220.1268,-637.7623 236.447,-618.2769 250.1528,-600.7327 275.6089,-568.1477 303.5876,-529.4996 321.3582,-504.57"/>
-<polygon fill="#000000" stroke="#000000" points="324.2557,-506.5349 327.1974,-496.3567 318.5505,-502.4789 324.2557,-506.5349"/>
+<path fill="none" stroke="#000000" d="M280.3169,-916.4529C293.6595,-909.6978 307.9979,-900.3777 317.8812,-888.2927 378.5005,-814.1689 399.5101,-697.9719 406.2144,-644.7007"/>
+<polygon fill="#000000" stroke="#000000" points="409.7078,-644.9624 407.4047,-634.6209 402.7561,-644.1414 409.7078,-644.9624"/>
+</g>
+<!-- documentsearch -->
+<g id="node20" class="node">
+<title>documentsearch</title>
+<g id="a_node20"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/documentsearch" xlink:title="documentsearch">
+<ellipse fill="none" stroke="#000000" cx="68.0877" cy="-651.2927" rx="68.4888" ry="18"/>
+<text text-anchor="middle" x="68.0877" y="-647.5927" font-family="Times,serif" font-size="14.00" fill="#000000">documentsearch</text>
+</a>
+</g>
+</g>
+<!-- fileeditor -->
+<g id="node21" class="node">
+<title>fileeditor</title>
+<g id="a_node21"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/fileeditor" xlink:title="fileeditor">
+<ellipse fill="none" stroke="#000000" cx="245.0877" cy="-861.2927" rx="42.7926" ry="18"/>
+<text text-anchor="middle" x="245.0877" y="-857.5927" font-family="Times,serif" font-size="14.00" fill="#000000">fileeditor</text>
+</a>
+</g>
+</g>
+<!-- documentsearch&#45;&gt;fileeditor -->
+<g id="edge23" class="edge">
+<title>documentsearch&#45;&gt;fileeditor</title>
+<path fill="none" stroke="#000000" d="M75.7957,-669.3066C90.5656,-702.1796 125.5813,-772.7019 172.2941,-818.2927 182.2552,-828.0144 194.8248,-836.434 206.7037,-843.1822"/>
+<polygon fill="#000000" stroke="#000000" points="205.1399,-846.3157 215.5983,-848.0107 208.4796,-840.1637 205.1399,-846.3157"/>
+</g>
+<!-- notebook -->
+<g id="node22" class="node">
+<title>notebook</title>
+<g id="a_node22"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/notebook" xlink:title="notebook">
+<ellipse fill="none" stroke="#000000" cx="245.0877" cy="-372.2927" rx="43.5923" ry="18"/>
+<text text-anchor="middle" x="245.0877" y="-368.5927" font-family="Times,serif" font-size="14.00" fill="#000000">notebook</text>
+</a>
+</g>
+</g>
+<!-- documentsearch&#45;&gt;notebook -->
+<g id="edge24" class="edge">
+<title>documentsearch&#45;&gt;notebook</title>
+<path fill="none" stroke="#000000" d="M72.0192,-633.2477C82.059,-590.7614 112.1953,-482.9204 172.2941,-415.2927 181.3847,-405.0633 193.509,-396.5815 205.2516,-389.9311"/>
+<polygon fill="#000000" stroke="#000000" points="206.9292,-393.0031 214.1002,-385.2039 203.6307,-386.8289 206.9292,-393.0031"/>
+</g>
+<!-- fileeditor&#45;&gt;docregistry -->
+<g id="edge25" class="edge">
+<title>fileeditor&#45;&gt;docregistry</title>
+<path fill="none" stroke="#000000" d="M275.6643,-848.5229C289.9533,-841.335 306.3223,-831.1913 317.8812,-818.2927 364.6359,-766.1188 391.0199,-685.9821 402.3594,-644.0484"/>
+<polygon fill="#000000" stroke="#000000" points="405.7776,-644.8108 404.9214,-634.2506 399.0053,-643.0398 405.7776,-644.8108"/>
+</g>
+<!-- notebook&#45;&gt;docregistry -->
+<g id="edge26" class="edge">
+<title>notebook&#45;&gt;docregistry</title>
+<path fill="none" stroke="#000000" d="M276.0175,-385.2553C290.2174,-392.4341 306.4083,-402.514 317.8812,-415.2927 364.3742,-467.0772 390.8028,-546.5449 402.2366,-588.3569"/>
+<polygon fill="#000000" stroke="#000000" points="398.8825,-589.3636 404.8235,-598.136 405.6497,-587.5734 398.8825,-589.3636"/>
+</g>
+<!-- notebook&#45;&gt;cells -->
+<g id="edge27" class="edge">
+<title>notebook&#45;&gt;cells</title>
+<path fill="none" stroke="#000000" d="M289.0366,-372.2927C314.939,-372.2927 347.3501,-372.2927 371.9648,-372.2927"/>
+<polygon fill="#000000" stroke="#000000" points="371.9949,-375.7928 381.9949,-372.2927 371.9949,-368.7928 371.9949,-375.7928"/>
 </g>
 <!-- extensionmanager -->
-<g id="node19" class="node">
+<g id="node23" class="node">
 <title>extensionmanager</title>
-<g id="a_node19"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/extensionmanager" xlink:title="extensionmanager">
-<ellipse fill="none" stroke="#000000" cx="866.6078" cy="-506.7327" rx="75.2868" ry="18"/>
-<text text-anchor="middle" x="866.6078" y="-503.0327" font-family="Times,serif" font-size="14.00" fill="#000000">extensionmanager</text>
+<g id="a_node23"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/extensionmanager" xlink:title="extensionmanager">
+<ellipse fill="none" stroke="#000000" cx="1079.0877" cy="-232.2927" rx="75.2868" ry="18"/>
+<text text-anchor="middle" x="1079.0877" y="-228.5927" font-family="Times,serif" font-size="14.00" fill="#000000">extensionmanager</text>
 </a>
 </g>
 </g>
 <!-- extensionmanager&#45;&gt;apputils -->
-<g id="edge22" class="edge">
+<g id="edge28" class="edge">
 <title>extensionmanager&#45;&gt;apputils</title>
-<path fill="none" stroke="#000000" d="M886.7185,-489.1258C902.0629,-475.5646 923.6202,-456.237 942.0012,-438.7327 959.3215,-422.2385 978.3487,-403.081 992.7183,-388.3913"/>
-<polygon fill="#000000" stroke="#000000" points="995.2992,-390.7578 999.7744,-381.1545 990.2873,-385.871 995.2992,-390.7578"/>
+<path fill="none" stroke="#000000" d="M1154.8706,-232.2927C1166.9914,-232.2927 1179.2417,-232.2927 1190.5043,-232.2927"/>
+<polygon fill="#000000" stroke="#000000" points="1190.5378,-235.7928 1200.5378,-232.2927 1190.5377,-228.7928 1190.5378,-235.7928"/>
 </g>
 <!-- filebrowser -->
-<g id="node20" class="node">
+<g id="node24" class="node">
 <title>filebrowser</title>
-<g id="a_node20"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/filebrowser" xlink:title="filebrowser">
-<ellipse fill="none" stroke="#000000" cx="50.6078" cy="-668.7327" rx="50.8918" ry="18"/>
-<text text-anchor="middle" x="50.6078" y="-665.0327" font-family="Times,serif" font-size="14.00" fill="#000000">filebrowser</text>
+<g id="a_node24"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/filebrowser" xlink:title="filebrowser">
+<ellipse fill="none" stroke="#000000" cx="68.0877" cy="-930.2927" rx="50.8918" ry="18"/>
+<text text-anchor="middle" x="68.0877" y="-926.5927" font-family="Times,serif" font-size="14.00" fill="#000000">filebrowser</text>
 </a>
 </g>
 </g>
 <!-- filebrowser&#45;&gt;docmanager -->
-<g id="edge23" class="edge">
+<g id="edge29" class="edge">
 <title>filebrowser&#45;&gt;docmanager</title>
-<path fill="none" stroke="#000000" d="M101.4269,-668.7327C110.5059,-668.7327 120.0716,-668.7327 129.466,-668.7327"/>
-<polygon fill="#000000" stroke="#000000" points="129.5616,-672.2328 139.5616,-668.7327 129.5616,-665.2328 129.5616,-672.2328"/>
+<path fill="none" stroke="#000000" d="M118.8088,-930.2927C138.122,-930.2927 160.3902,-930.2927 180.7978,-930.2927"/>
+<polygon fill="#000000" stroke="#000000" points="180.9589,-933.7928 190.9589,-930.2927 180.9588,-926.7928 180.9589,-933.7928"/>
 </g>
-<!-- fileeditor -->
-<g id="node21" class="node">
-<title>fileeditor</title>
-<g id="a_node21"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/fileeditor" xlink:title="fileeditor">
-<ellipse fill="none" stroke="#000000" cx="193.6078" cy="-316.7327" rx="42.7926" ry="18"/>
-<text text-anchor="middle" x="193.6078" y="-313.0327" font-family="Times,serif" font-size="14.00" fill="#000000">fileeditor</text>
+<!-- htmlviewer -->
+<g id="node25" class="node">
+<title>htmlviewer</title>
+<g id="a_node25"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/htmlviewer" xlink:title="htmlviewer">
+<ellipse fill="none" stroke="#000000" cx="245.0877" cy="-791.2927" rx="51.1914" ry="18"/>
+<text text-anchor="middle" x="245.0877" y="-787.5927" font-family="Times,serif" font-size="14.00" fill="#000000">htmlviewer</text>
 </a>
 </g>
 </g>
-<!-- fileeditor&#45;&gt;docregistry -->
-<g id="edge24" class="edge">
-<title>fileeditor&#45;&gt;docregistry</title>
-<path fill="none" stroke="#000000" d="M208.9565,-333.7634C234.848,-362.4924 287.3049,-420.698 317.276,-453.9536"/>
-<polygon fill="#000000" stroke="#000000" points="314.7308,-456.3574 324.0255,-461.4427 319.9306,-451.6711 314.7308,-456.3574"/>
+<!-- htmlviewer&#45;&gt;docregistry -->
+<g id="edge30" class="edge">
+<title>htmlviewer&#45;&gt;docregistry</title>
+<path fill="none" stroke="#000000" d="M276.1295,-776.8058C289.8619,-769.4712 305.6364,-759.6968 317.8812,-748.2927 351.2119,-717.2504 379.1742,-672.0102 395.0277,-643.3741"/>
+<polygon fill="#000000" stroke="#000000" points="398.235,-644.8021 399.9302,-634.3438 392.0831,-641.4623 398.235,-644.8021"/>
 </g>
 <!-- imageviewer -->
-<g id="node22" class="node">
+<g id="node26" class="node">
 <title>imageviewer</title>
-<g id="a_node22"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/imageviewer" xlink:title="imageviewer">
-<ellipse fill="none" stroke="#000000" cx="193.6078" cy="-763.7327" rx="56.59" ry="18"/>
-<text text-anchor="middle" x="193.6078" y="-760.0327" font-family="Times,serif" font-size="14.00" fill="#000000">imageviewer</text>
+<g id="a_node26"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/imageviewer" xlink:title="imageviewer">
+<ellipse fill="none" stroke="#000000" cx="245.0877" cy="-721.2927" rx="56.59" ry="18"/>
+<text text-anchor="middle" x="245.0877" y="-717.5927" font-family="Times,serif" font-size="14.00" fill="#000000">imageviewer</text>
 </a>
 </g>
 </g>
 <!-- imageviewer&#45;&gt;docregistry -->
-<g id="edge25" class="edge">
+<g id="edge31" class="edge">
 <title>imageviewer&#45;&gt;docregistry</title>
-<path fill="none" stroke="#000000" d="M210.5657,-746.3979C222.7327,-733.2863 238.8996,-714.4066 250.1528,-695.7327 288.5279,-632.0525 317.642,-548.9154 331.2028,-506.4035"/>
-<polygon fill="#000000" stroke="#000000" points="334.5773,-507.3394 334.2364,-496.7501 327.8993,-505.2408 334.5773,-507.3394"/>
+<path fill="none" stroke="#000000" d="M272.6444,-705.5676C286.3654,-697.5983 303.1317,-687.649 317.8812,-678.2927 337.9825,-665.5414 360.0714,-650.5522 377.476,-638.5063"/>
+<polygon fill="#000000" stroke="#000000" points="379.9007,-641.0835 386.1153,-632.5028 375.906,-635.3352 379.9007,-641.0835"/>
 </g>
 <!-- inspector -->
-<g id="node23" class="node">
+<g id="node27" class="node">
 <title>inspector</title>
-<g id="a_node23"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/inspector" xlink:title="inspector">
-<ellipse fill="none" stroke="#000000" cx="339.6078" cy="-126.7327" rx="42.7926" ry="18"/>
-<text text-anchor="middle" x="339.6078" y="-123.0327" font-family="Times,serif" font-size="14.00" fill="#000000">inspector</text>
+<g id="a_node27"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/inspector" xlink:title="inspector">
+<ellipse fill="none" stroke="#000000" cx="552.0877" cy="-302.2927" rx="42.7926" ry="18"/>
+<text text-anchor="middle" x="552.0877" y="-298.5927" font-family="Times,serif" font-size="14.00" fill="#000000">inspector</text>
 </a>
 </g>
 </g>
 <!-- inspector&#45;&gt;rendermime -->
-<g id="edge26" class="edge">
+<g id="edge32" class="edge">
 <title>inspector&#45;&gt;rendermime</title>
-<path fill="none" stroke="#000000" d="M362.5833,-141.9961C386.1328,-157.6409 422.9797,-182.1196 449.6377,-199.8295"/>
-<polygon fill="#000000" stroke="#000000" points="447.9874,-202.9351 458.2536,-205.5534 451.8609,-197.1045 447.9874,-202.9351"/>
+<path fill="none" stroke="#000000" d="M580.1942,-315.9556C601.7991,-326.4579 631.9306,-341.1052 656.0546,-352.8322"/>
+<polygon fill="#000000" stroke="#000000" points="654.786,-356.1071 665.3099,-357.3313 657.8464,-349.8115 654.786,-356.1071"/>
 </g>
 <!-- launcher -->
-<g id="node24" class="node">
+<g id="node28" class="node">
 <title>launcher</title>
-<g id="a_node24"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/launcher" xlink:title="launcher">
-<ellipse fill="none" stroke="#000000" cx="866.6078" cy="-411.7327" rx="40.8928" ry="18"/>
-<text text-anchor="middle" x="866.6078" y="-408.0327" font-family="Times,serif" font-size="14.00" fill="#000000">launcher</text>
+<g id="a_node28"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/launcher" xlink:title="launcher">
+<ellipse fill="none" stroke="#000000" cx="1079.0877" cy="-163.2927" rx="40.8928" ry="18"/>
+<text text-anchor="middle" x="1079.0877" y="-159.5927" font-family="Times,serif" font-size="14.00" fill="#000000">launcher</text>
 </a>
 </g>
 </g>
 <!-- launcher&#45;&gt;apputils -->
-<g id="edge27" class="edge">
+<g id="edge33" class="edge">
 <title>launcher&#45;&gt;apputils</title>
-<path fill="none" stroke="#000000" d="M900.0464,-401.185C921.8935,-394.2937 950.5917,-385.2412 973.9234,-377.8815"/>
-<polygon fill="#000000" stroke="#000000" points="975.0746,-381.1885 983.5585,-374.8423 972.9688,-374.5127 975.0746,-381.1885"/>
+<path fill="none" stroke="#000000" d="M1108.4341,-175.9483C1134.6144,-187.2386 1173.0896,-203.831 1201.5121,-216.0882"/>
+<polygon fill="#000000" stroke="#000000" points="1200.1648,-219.3188 1210.7334,-220.0649 1202.9369,-212.891 1200.1648,-219.3188"/>
 </g>
 <!-- mainmenu -->
-<g id="node25" class="node">
+<g id="node29" class="node">
 <title>mainmenu</title>
-<g id="a_node25"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/mainmenu" xlink:title="mainmenu">
-<ellipse fill="none" stroke="#000000" cx="866.6078" cy="-316.7327" rx="48.9926" ry="18"/>
-<text text-anchor="middle" x="866.6078" y="-313.0327" font-family="Times,serif" font-size="14.00" fill="#000000">mainmenu</text>
+<g id="a_node29"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/mainmenu" xlink:title="mainmenu">
+<ellipse fill="none" stroke="#000000" cx="1079.0877" cy="-93.2927" rx="48.9926" ry="18"/>
+<text text-anchor="middle" x="1079.0877" y="-89.5927" font-family="Times,serif" font-size="14.00" fill="#000000">mainmenu</text>
 </a>
 </g>
 </g>
 <!-- mainmenu&#45;&gt;apputils -->
-<g id="edge28" class="edge">
+<g id="edge34" class="edge">
 <title>mainmenu&#45;&gt;apputils</title>
-<path fill="none" stroke="#000000" d="M903.4393,-328.5979C924.8128,-335.4833 951.7996,-344.1771 973.9463,-351.3116"/>
-<polygon fill="#000000" stroke="#000000" points="973.1521,-354.7328 983.7436,-354.4678 975.2985,-348.07 973.1521,-354.7328"/>
+<path fill="none" stroke="#000000" d="M1109.1729,-107.52C1123.5974,-115.0529 1140.6929,-125.0659 1154.481,-136.2927 1180.2208,-157.2511 1204.7355,-186.4468 1220.687,-207.125"/>
+<polygon fill="#000000" stroke="#000000" points="1217.9394,-209.2942 1226.7735,-215.1432 1223.515,-205.0618 1217.9394,-209.2942"/>
+</g>
+<!-- markdownviewer -->
+<g id="node30" class="node">
+<title>markdownviewer</title>
+<g id="a_node30"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/markdownviewer" xlink:title="markdownviewer">
+<ellipse fill="none" stroke="#000000" cx="245.0877" cy="-651.2927" rx="72.5877" ry="18"/>
+<text text-anchor="middle" x="245.0877" y="-647.5927" font-family="Times,serif" font-size="14.00" fill="#000000">markdownviewer</text>
+</a>
+</g>
+</g>
+<!-- markdownviewer&#45;&gt;docregistry -->
+<g id="edge35" class="edge">
+<title>markdownviewer&#45;&gt;docregistry</title>
+<path fill="none" stroke="#000000" d="M300.6106,-639.4433C318.3992,-635.6469 338.0501,-631.4531 355.684,-627.6898"/>
+<polygon fill="#000000" stroke="#000000" points="356.755,-631.0401 365.8042,-625.53 355.2939,-624.1943 356.755,-631.0401"/>
 </g>
 <!-- mathjax2 -->
-<g id="node26" class="node">
+<g id="node31" class="node">
 <title>mathjax2</title>
-<g id="a_node26"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/mathjax2" xlink:title="mathjax2">
-<ellipse fill="none" stroke="#000000" cx="482.6078" cy="-316.7327" rx="44.393" ry="18"/>
-<text text-anchor="middle" x="482.6078" y="-313.0327" font-family="Times,serif" font-size="14.00" fill="#000000">mathjax2</text>
+<g id="a_node31"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/mathjax2" xlink:title="mathjax2">
+<ellipse fill="none" stroke="#000000" cx="696.0877" cy="-442.2927" rx="44.393" ry="18"/>
+<text text-anchor="middle" x="696.0877" y="-438.5927" font-family="Times,serif" font-size="14.00" fill="#000000">mathjax2</text>
 </a>
 </g>
 </g>
 <!-- mathjax2&#45;&gt;rendermime&#45;interfaces -->
-<g id="edge29" class="edge">
+<g id="edge36" class="edge">
 <title>mathjax2&#45;&gt;rendermime&#45;interfaces</title>
-<path fill="none" stroke="#000000" d="M526.8854,-316.7327C537.6783,-316.7327 549.67,-316.7327 561.9399,-316.7327"/>
-<polygon fill="#000000" stroke="#000000" points="562.2918,-320.2328 572.2917,-316.7327 562.2917,-313.2328 562.2918,-320.2328"/>
-</g>
-<!-- notebook -->
-<g id="node27" class="node">
-<title>notebook</title>
-<g id="a_node27"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/notebook" xlink:title="notebook">
-<ellipse fill="none" stroke="#000000" cx="50.6078" cy="-357.7327" rx="43.5923" ry="18"/>
-<text text-anchor="middle" x="50.6078" y="-354.0327" font-family="Times,serif" font-size="14.00" fill="#000000">notebook</text>
+<path fill="none" stroke="#000000" d="M740.3652,-442.2927C751.1581,-442.2927 763.1498,-442.2927 775.4197,-442.2927"/>
+<polygon fill="#000000" stroke="#000000" points="775.7716,-445.7928 785.7715,-442.2927 775.7715,-438.7928 775.7716,-445.7928"/>
+</g>
+<!-- nbconvert&#45;css -->
+<g id="node32" class="node">
+<title>nbconvert&#45;css</title>
+<g id="a_node32"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/nbconvert-css" xlink:title="nbconvert&#45;css">
+<ellipse fill="none" stroke="#000000" cx="68.0877" cy="-372.2927" rx="59.5901" ry="18"/>
+<text text-anchor="middle" x="68.0877" y="-368.5927" font-family="Times,serif" font-size="14.00" fill="#000000">nbconvert&#45;css</text>
 </a>
 </g>
 </g>
-<!-- notebook&#45;&gt;docregistry -->
-<g id="edge30" class="edge">
-<title>notebook&#45;&gt;docregistry</title>
-<path fill="none" stroke="#000000" d="M81.2623,-370.5673C133.1406,-392.288 238.335,-436.3313 297.2307,-460.99"/>
-<polygon fill="#000000" stroke="#000000" points="296.0433,-464.2873 306.6192,-464.9209 298.7468,-457.8304 296.0433,-464.2873"/>
-</g>
-<!-- notebook&#45;&gt;cells -->
-<g id="edge31" class="edge">
-<title>notebook&#45;&gt;cells</title>
-<path fill="none" stroke="#000000" d="M68.1425,-341.0565C93.7748,-316.6789 141.5292,-271.2621 170.1563,-244.0363"/>
-<polygon fill="#000000" stroke="#000000" points="172.8549,-246.2999 177.6891,-236.8722 168.0309,-241.2276 172.8549,-246.2999"/>
+<!-- nbconvert&#45;css&#45;&gt;notebook -->
+<g id="edge37" class="edge">
+<title>nbconvert&#45;css&#45;&gt;notebook</title>
+<path fill="none" stroke="#000000" d="M128.0118,-372.2927C148.5088,-372.2927 171.2967,-372.2927 191.2807,-372.2927"/>
+<polygon fill="#000000" stroke="#000000" points="191.4484,-375.7928 201.4484,-372.2927 191.4484,-368.7928 191.4484,-375.7928"/>
 </g>
 <!-- running -->
-<g id="node28" class="node">
+<g id="node33" class="node">
 <title>running</title>
-<g id="a_node28"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/running" xlink:title="running">
-<ellipse fill="none" stroke="#000000" cx="866.6078" cy="-696.7327" rx="38.1938" ry="18"/>
-<text text-anchor="middle" x="866.6078" y="-693.0327" font-family="Times,serif" font-size="14.00" fill="#000000">running</text>
+<g id="a_node33"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/running" xlink:title="running">
+<ellipse fill="none" stroke="#000000" cx="1079.0877" cy="-23.2927" rx="38.1938" ry="18"/>
+<text text-anchor="middle" x="1079.0877" y="-19.5927" font-family="Times,serif" font-size="14.00" fill="#000000">running</text>
 </a>
 </g>
 </g>
 <!-- running&#45;&gt;apputils -->
-<g id="edge32" class="edge">
+<g id="edge38" class="edge">
 <title>running&#45;&gt;apputils</title>
-<path fill="none" stroke="#000000" d="M888.9012,-681.9766C905.8363,-669.6533 928.4533,-650.6128 942.0012,-628.7327 989.6077,-551.8475 1007.097,-443.6155 1012.9484,-392.9566"/>
-<polygon fill="#000000" stroke="#000000" points="1016.4544,-393.09 1014.0557,-382.7703 1009.4954,-392.3334 1016.4544,-393.09"/>
+<path fill="none" stroke="#000000" d="M1108.263,-35.0175C1123.4909,-42.2629 1141.5827,-52.774 1154.481,-66.2927 1193.2982,-106.9772 1218.4111,-168.9538 1230.5322,-204.5446"/>
+<polygon fill="#000000" stroke="#000000" points="1227.2836,-205.869 1233.7427,-214.2672 1233.9306,-203.6741 1227.2836,-205.869"/>
 </g>
 <!-- settingeditor -->
-<g id="node29" class="node">
+<g id="node34" class="node">
 <title>settingeditor</title>
-<g id="a_node29"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/settingeditor" xlink:title="settingeditor">
-<ellipse fill="none" stroke="#000000" cx="193.6078" cy="-126.7327" rx="54.6905" ry="18"/>
-<text text-anchor="middle" x="193.6078" y="-123.0327" font-family="Times,serif" font-size="14.00" fill="#000000">settingeditor</text>
+<g id="a_node34"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/settingeditor" xlink:title="settingeditor">
+<ellipse fill="none" stroke="#000000" cx="409.0877" cy="-302.2927" rx="54.6905" ry="18"/>
+<text text-anchor="middle" x="409.0877" y="-298.5927" font-family="Times,serif" font-size="14.00" fill="#000000">settingeditor</text>
 </a>
 </g>
 </g>
 <!-- settingeditor&#45;&gt;inspector -->
-<g id="edge33" class="edge">
+<g id="edge39" class="edge">
 <title>settingeditor&#45;&gt;inspector</title>
-<path fill="none" stroke="#000000" d="M248.3882,-126.7327C260.7782,-126.7327 273.9163,-126.7327 286.2467,-126.7327"/>
-<polygon fill="#000000" stroke="#000000" points="286.3803,-130.2328 296.3802,-126.7327 286.3802,-123.2328 286.3803,-130.2328"/>
+<path fill="none" stroke="#000000" d="M463.9662,-302.2927C475.4238,-302.2927 487.4842,-302.2927 498.88,-302.2927"/>
+<polygon fill="#000000" stroke="#000000" points="499.1224,-305.7928 509.1224,-302.2927 499.1223,-298.7928 499.1224,-305.7928"/>
 </g>
 <!-- terminal -->
-<g id="node30" class="node">
+<g id="node35" class="node">
 <title>terminal</title>
-<g id="a_node30"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/terminal" xlink:title="terminal">
-<ellipse fill="none" stroke="#000000" cx="866.6078" cy="-601.7327" rx="40.0939" ry="18"/>
-<text text-anchor="middle" x="866.6078" y="-598.0327" font-family="Times,serif" font-size="14.00" fill="#000000">terminal</text>
+<g id="a_node35"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/terminal" xlink:title="terminal">
+<ellipse fill="none" stroke="#000000" cx="1079.0877" cy="-302.2927" rx="40.0939" ry="18"/>
+<text text-anchor="middle" x="1079.0877" y="-298.5927" font-family="Times,serif" font-size="14.00" fill="#000000">terminal</text>
 </a>
 </g>
 </g>
 <!-- terminal&#45;&gt;apputils -->
-<g id="edge34" class="edge">
+<g id="edge40" class="edge">
 <title>terminal&#45;&gt;apputils</title>
-<path fill="none" stroke="#000000" d="M888.0785,-586.4268C904.5599,-573.8003 926.968,-554.6202 942.0012,-533.7327 974.3293,-488.8152 996.5691,-427.4656 1007.5984,-392.3801"/>
-<polygon fill="#000000" stroke="#000000" points="1010.9509,-393.3856 1010.5358,-382.7989 1004.2583,-391.3337 1010.9509,-393.3856"/>
+<path fill="none" stroke="#000000" d="M1108.0625,-289.6162C1134.2766,-278.1475 1173.0357,-261.1904 1201.6016,-248.6928"/>
+<polygon fill="#000000" stroke="#000000" points="1203.1068,-251.8547 1210.8655,-244.6399 1200.3011,-245.4416 1203.1068,-251.8547"/>
 </g>
 <!-- tooltip -->
-<g id="node31" class="node">
+<g id="node36" class="node">
 <title>tooltip</title>
-<g id="a_node31"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/tooltip" xlink:title="tooltip">
-<ellipse fill="none" stroke="#000000" cx="339.6078" cy="-31.7327" rx="33.5952" ry="18"/>
-<text text-anchor="middle" x="339.6078" y="-28.0327" font-family="Times,serif" font-size="14.00" fill="#000000">tooltip</text>
+<g id="a_node36"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/tooltip" xlink:title="tooltip">
+<ellipse fill="none" stroke="#000000" cx="552.0877" cy="-232.2927" rx="33.5952" ry="18"/>
+<text text-anchor="middle" x="552.0877" y="-228.5927" font-family="Times,serif" font-size="14.00" fill="#000000">tooltip</text>
 </a>
 </g>
 </g>
 <!-- tooltip&#45;&gt;rendermime -->
-<g id="edge35" class="edge">
+<g id="edge41" class="edge">
 <title>tooltip&#45;&gt;rendermime</title>
-<path fill="none" stroke="#000000" d="M352.8933,-48.3885C363.764,-62.0872 379.4793,-82.0521 392.9031,-99.7327 417.7894,-132.5108 445.783,-170.8207 463.7781,-195.6404"/>
-<polygon fill="#000000" stroke="#000000" points="461.005,-197.7786 469.7046,-203.8257 466.6749,-193.6733 461.005,-197.7786"/>
+<path fill="none" stroke="#000000" d="M571.6232,-246.9901C581.9508,-255.0212 594.6724,-265.3367 605.3829,-275.2927 630.2793,-298.4352 656.583,-327.0931 674.4161,-347.2384"/>
+<polygon fill="#000000" stroke="#000000" points="671.8147,-349.5802 681.0469,-354.778 677.0711,-344.9574 671.8147,-349.5802"/>
+</g>
+<!-- vdom -->
+<g id="node37" class="node">
+<title>vdom</title>
+<g id="a_node37"><a xlink:href="https://github.com/jupyterlab/jupyterlab/tree/master/packages/vdom" xlink:title="vdom">
+<ellipse fill="none" stroke="#000000" cx="245.0877" cy="-581.2927" rx="31.3957" ry="18"/>
+<text text-anchor="middle" x="245.0877" y="-577.5927" font-family="Times,serif" font-size="14.00" fill="#000000">vdom</text>
+</a>
+</g>
+</g>
+<!-- vdom&#45;&gt;docregistry -->
+<g id="edge42" class="edge">
+<title>vdom&#45;&gt;docregistry</title>
+<path fill="none" stroke="#000000" d="M274.4076,-587.55C296.9557,-592.3621 328.7198,-599.141 355.7377,-604.907"/>
+<polygon fill="#000000" stroke="#000000" points="355.3207,-608.3968 365.831,-607.0611 356.7818,-601.5509 355.3207,-608.3968"/>
 </g>
 </g>
 </svg>