developers/zcash-zf-devops-dag.html

288 lines
20 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Zcash zf-devops DAG</title>
<!-- Pan/zoom SVGs -->
<script src="https://bumbu.me/svg-pan-zoom/dist/svg-pan-zoom.min.js"></script>
<link rel="stylesheet" href="zcash-dag.css">
<style>
@media (prefers-color-scheme: dark) {
body {
/* Material dark theme surface colour */
background-color: #121212;
}
}
</style>
</head>
<body>
<div id="dag"><svg width="824pt" height="962pt"
viewBox="0.00 0.00 824.00 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)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-958 820,-958 820,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_1</title>
<polygon fill="none" stroke="#0000ff" points="0,0 0,-954 248,-954 248,0 0,0"/>
<text text-anchor="middle" x="124" y="-938.8" font-family="Times,serif" font-size="14.00" fill="#000000">DevOps Ticket Tracker</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_3</title>
<polygon fill="none" stroke="#0000ff" points="268,-409 268,-516 556,-516 556,-409 268,-409"/>
<text text-anchor="middle" x="412" y="-500.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra as a lightwalletd backend</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_0</title>
<polygon fill="none" stroke="#0000ff" points="288,-524 288,-861 536,-861 536,-524 288,-524"/>
<text text-anchor="middle" x="412" y="-845.8" font-family="Times,serif" font-size="14.00" fill="#000000">Epic: Zebra Release Candidates</text>
</g>
<!-- ZcashFoundation/zebra#4953 -->
<g id="node1" class="node open">
<title>ZcashFoundation/zebra#4953</title>
<g id="a_node1"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4953" xlink:title="ZcashFoundation/zebra#4953&#10;Document how to use&#10;released Zebra binaries" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-593.5 8,-593.5 8,-540.5 240,-540.5 240,-593.5"/>
<text text-anchor="middle" x="124" y="-578.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4953</text>
<text text-anchor="middle" x="124" y="-563.3" font-family="Times,serif" font-size="14.00" fill="#000000">Document how to use</text>
<text text-anchor="middle" x="124" y="-548.3" font-family="Times,serif" font-size="14.00" fill="#000000">released Zebra binaries</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1615 -->
<g id="node13" class="node open">
<title>ZcashFoundation/zebra#1615</title>
<g id="a_node13"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1615" xlink:title="ZcashFoundation/zebra#1615&#10;Zebra release candidate&#10;binaries should be linked&#10;from ZFND website" target="_blank">
<polygon fill="#a7c2aa" stroke="#000000" points="528,-758 296,-758 296,-690 528,-690 528,-758"/>
<text text-anchor="middle" x="412" y="-742.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1615</text>
<text text-anchor="middle" x="412" y="-727.8" font-family="Times,serif" font-size="14.00" fill="#000000">Zebra release candidate</text>
<text text-anchor="middle" x="412" y="-712.8" font-family="Times,serif" font-size="14.00" fill="#000000">binaries should be linked</text>
<text text-anchor="middle" x="412" y="-697.8" font-family="Times,serif" font-size="14.00" fill="#000000">from ZFND website</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4953&#45;&gt;ZcashFoundation/zebra#1615 -->
<g id="edge1" class="edge">
<title>ZcashFoundation/zebra#4953&#45;&gt;ZcashFoundation/zebra#1615</title>
<path fill="none" stroke="#000000" d="M237.08,-593.57C240.98,-596.4 244.65,-599.54 248,-603 272.9,-628.7 243.19,-655.2 268,-681 273.59,-686.82 279.94,-691.86 286.77,-696.22"/>
<polygon fill="#000000" stroke="#000000" points="285.2667,-699.3947 295.67,-701.4 288.7879,-693.3447 285.2667,-699.3947"/>
</g>
<!-- ZcashFoundation/zebra#4954 -->
<g id="node2" class="node open">
<title>ZcashFoundation/zebra#4954</title>
<g id="a_node2"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4954" xlink:title="ZcashFoundation/zebra#4954&#10;Update release checklist&#10;PR template for the&#10;release candidate series" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-923 8,-923 8,-855 240,-855 240,-923"/>
<text text-anchor="middle" x="124" y="-907.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4954</text>
<text text-anchor="middle" x="124" y="-892.8" font-family="Times,serif" font-size="14.00" fill="#000000">Update release checklist</text>
<text text-anchor="middle" x="124" y="-877.8" font-family="Times,serif" font-size="14.00" fill="#000000">PR template for the</text>
<text text-anchor="middle" x="124" y="-862.8" font-family="Times,serif" font-size="14.00" fill="#000000">release candidate series</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050 -->
<g id="node14" class="node open">
<title>ZcashFoundation/zebra#3050</title>
<g id="a_node14"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/3050" xlink:title="ZcashFoundation/zebra#3050&#10;Tag Zebra 1.0.0&#45;rc.0&#10;stable release candidate" target="_blank">
<polygon fill="#a7c2aa" stroke="#000000" points="528,-829.5 296,-829.5 296,-776.5 528,-776.5 528,-829.5"/>
<text text-anchor="middle" x="412" y="-814.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#3050</text>
<text text-anchor="middle" x="412" y="-799.3" font-family="Times,serif" font-size="14.00" fill="#000000">Tag Zebra 1.0.0&#45;rc.0</text>
<text text-anchor="middle" x="412" y="-784.3" font-family="Times,serif" font-size="14.00" fill="#000000">stable release candidate</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4954&#45;&gt;ZcashFoundation/zebra#3050 -->
<g id="edge2" class="edge">
<title>ZcashFoundation/zebra#4954&#45;&gt;ZcashFoundation/zebra#3050</title>
<path fill="none" stroke="#000000" d="M238.24,-854.89C263.08,-847.47 289.17,-839.68 313.35,-832.46"/>
<polygon fill="#000000" stroke="#000000" points="314.6494,-835.7248 323.23,-829.51 312.6466,-829.0174 314.6494,-835.7248"/>
</g>
<!-- ZcashFoundation/zebra#4412 -->
<g id="node3" class="node open">
<title>ZcashFoundation/zebra#4412</title>
<g id="a_node3"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4412" xlink:title="ZcashFoundation/zebra#4412&#10;Automate pinning CI&#10;dependencies to specific&#10;commit hashes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-751 8,-751 8,-683 240,-683 240,-751"/>
<text text-anchor="middle" x="124" y="-735.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4412</text>
<text text-anchor="middle" x="124" y="-720.8" font-family="Times,serif" font-size="14.00" fill="#000000">Automate pinning CI</text>
<text text-anchor="middle" x="124" y="-705.8" font-family="Times,serif" font-size="14.00" fill="#000000">dependencies to specific</text>
<text text-anchor="middle" x="124" y="-690.8" font-family="Times,serif" font-size="14.00" fill="#000000">commit hashes</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4955 -->
<g id="node4" class="node open">
<title>ZcashFoundation/zebra#4955</title>
<g id="a_node4"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4955" xlink:title="ZcashFoundation/zebra#4955&#10;Make long&#45;running test&#10;names match workflow&#10;names" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="240,-837 8,-837 8,-769 240,-769 240,-837"/>
<text text-anchor="middle" x="124" y="-821.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4955</text>
<text text-anchor="middle" x="124" y="-806.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make long&#45;running test</text>
<text text-anchor="middle" x="124" y="-791.8" font-family="Times,serif" font-size="14.00" fill="#000000">names match workflow</text>
<text text-anchor="middle" x="124" y="-776.8" font-family="Times,serif" font-size="14.00" fill="#000000">names</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4882 -->
<g id="node5" class="node open">
<title>ZcashFoundation/zebra#4882</title>
<g id="a_node5"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4882" xlink:title="ZcashFoundation/zebra#4882&#10;Add zcash&#45;lightwalletd /&#10;Build images to required&#10;jobs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-522 8,-522 8,-454 240,-454 240,-522"/>
<text text-anchor="middle" x="124" y="-506.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4882</text>
<text text-anchor="middle" x="124" y="-491.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add zcash&#45;lightwalletd /</text>
<text text-anchor="middle" x="124" y="-476.8" font-family="Times,serif" font-size="14.00" fill="#000000">Build images to required</text>
<text text-anchor="middle" x="124" y="-461.8" font-family="Times,serif" font-size="14.00" fill="#000000">jobs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4612 -->
<g id="node12" class="node open">
<title>ZcashFoundation/zebra#4612</title>
<g id="a_node12"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4612" xlink:title="ZcashFoundation/zebra#4612&#10;ci: Wait for lightwalletd&#10;image rebuild if it has&#10;changed" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="528,-485 296,-485 296,-417 528,-417 528,-485"/>
<text text-anchor="middle" x="412" y="-469.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4612</text>
<text text-anchor="middle" x="412" y="-454.8" font-family="Times,serif" font-size="14.00" fill="#000000">ci: Wait for lightwalletd</text>
<text text-anchor="middle" x="412" y="-439.8" font-family="Times,serif" font-size="14.00" fill="#000000">image rebuild if it has</text>
<text text-anchor="middle" x="412" y="-424.8" font-family="Times,serif" font-size="14.00" fill="#000000">changed</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612 -->
<g id="edge3" class="edge">
<title>ZcashFoundation/zebra#4882&#45;&gt;ZcashFoundation/zebra#4612</title>
<path fill="none" stroke="#000000" d="M240.31,-473.06C255.15,-471.15 270.4,-469.19 285.39,-467.27"/>
<polygon fill="#000000" stroke="#000000" points="286.2488,-470.6884 295.72,-465.94 285.3549,-463.7457 286.2488,-470.6884"/>
</g>
<!-- ZcashFoundation/zebra#4992 -->
<g id="node6" class="node open">
<title>ZcashFoundation/zebra#4992</title>
<g id="a_node6"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4992" xlink:title="ZcashFoundation/zebra#4992&#10;Run cached state CI on&#10;testnet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="240,-664.5 8,-664.5 8,-611.5 240,-611.5 240,-664.5"/>
<text text-anchor="middle" x="124" y="-649.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4992</text>
<text text-anchor="middle" x="124" y="-634.3" font-family="Times,serif" font-size="14.00" fill="#000000">Run cached state CI on</text>
<text text-anchor="middle" x="124" y="-619.3" font-family="Times,serif" font-size="14.00" fill="#000000">testnet</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4554 -->
<g id="node7" class="node open">
<title>ZcashFoundation/zebra#4554</title>
<g id="a_node7"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4554" xlink:title="ZcashFoundation/zebra#4554&#10;benchmarks: surface&#10;zebrad mainnet sync time&#10;in CI" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-436 8,-436 8,-368 240,-368 240,-436"/>
<text text-anchor="middle" x="124" y="-420.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4554</text>
<text text-anchor="middle" x="124" y="-405.8" font-family="Times,serif" font-size="14.00" fill="#000000">benchmarks: surface</text>
<text text-anchor="middle" x="124" y="-390.8" font-family="Times,serif" font-size="14.00" fill="#000000">zebrad mainnet sync time</text>
<text text-anchor="middle" x="124" y="-375.8" font-family="Times,serif" font-size="14.00" fill="#000000">in CI</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4529 -->
<g id="node8" class="node open">
<title>ZcashFoundation/zebra#4529</title>
<g id="a_node8"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4529" xlink:title="ZcashFoundation/zebra#4529&#10;Make PRs from external&#10;repositories pass or skip&#10;CI jobs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-350 8,-350 8,-282 240,-282 240,-350"/>
<text text-anchor="middle" x="124" y="-334.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4529</text>
<text text-anchor="middle" x="124" y="-319.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make PRs from external</text>
<text text-anchor="middle" x="124" y="-304.8" font-family="Times,serif" font-size="14.00" fill="#000000">repositories pass or skip</text>
<text text-anchor="middle" x="124" y="-289.8" font-family="Times,serif" font-size="14.00" fill="#000000">CI jobs</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4956 -->
<g id="node9" class="node open">
<title>ZcashFoundation/zebra#4956</title>
<g id="a_node9"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4956" xlink:title="ZcashFoundation/zebra#4956&#10;Make file locations&#10;appear in zebrad Docker&#10;error messages" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-264 8,-264 8,-196 240,-196 240,-264"/>
<text text-anchor="middle" x="124" y="-248.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4956</text>
<text text-anchor="middle" x="124" y="-233.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make file locations</text>
<text text-anchor="middle" x="124" y="-218.8" font-family="Times,serif" font-size="14.00" fill="#000000">appear in zebrad Docker</text>
<text text-anchor="middle" x="124" y="-203.8" font-family="Times,serif" font-size="14.00" fill="#000000">error messages</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4976 -->
<g id="node10" class="node open">
<title>ZcashFoundation/zebra#4976</title>
<g id="a_node10"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4976" xlink:title="ZcashFoundation/zebra#4976&#10;Move continuous&#10;deployment to another&#10;Google Cloud region" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-178 8,-178 8,-110 240,-110 240,-178"/>
<text text-anchor="middle" x="124" y="-162.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4976</text>
<text text-anchor="middle" x="124" y="-147.8" font-family="Times,serif" font-size="14.00" fill="#000000">Move continuous</text>
<text text-anchor="middle" x="124" y="-132.8" font-family="Times,serif" font-size="14.00" fill="#000000">deployment to another</text>
<text text-anchor="middle" x="124" y="-117.8" font-family="Times,serif" font-size="14.00" fill="#000000">Google Cloud region</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#4946 -->
<g id="node11" class="node open">
<title>ZcashFoundation/zebra#4946</title>
<g id="a_node11"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/4946" xlink:title="ZcashFoundation/zebra#4946&#10;Managed instance groups&#10;deployed with continuous&#10;deployment can&#39;t scale&#10;beyond 1 instance" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="240,-91.5 8,-91.5 8,-8.5 240,-8.5 240,-91.5"/>
<text text-anchor="middle" x="124" y="-76.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4946</text>
<text text-anchor="middle" x="124" y="-61.3" font-family="Times,serif" font-size="14.00" fill="#000000">Managed instance groups</text>
<text text-anchor="middle" x="124" y="-46.3" font-family="Times,serif" font-size="14.00" fill="#000000">deployed with continuous</text>
<text text-anchor="middle" x="124" y="-31.3" font-family="Times,serif" font-size="14.00" fill="#000000">deployment can&#39;t scale</text>
<text text-anchor="middle" x="124" y="-16.3" font-family="Times,serif" font-size="14.00" fill="#000000">beyond 1 instance</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4955 -->
<g id="edge4" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4955</title>
<path fill="none" stroke="#000000" d="M295.72,-803C280.88,-803 265.64,-803 250.64,-803"/>
<polygon fill="#000000" stroke="#000000" points="250.31,-799.5001 240.31,-803 250.31,-806.5001 250.31,-799.5001"/>
</g>
<!-- ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4992 -->
<g id="edge5" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4992</title>
<path fill="none" stroke="#000000" d="M295.87,-786.76C285.53,-781.71 275.97,-775.24 268,-767 238.6,-736.61 276.82,-704.93 248,-674 247.1,-673.03 246.17,-672.09 245.22,-671.17"/>
<polygon fill="#000000" stroke="#000000" points="247.4019,-668.4309 237.52,-664.61 242.8623,-673.7594 247.4019,-668.4309"/>
</g>
<!-- ZcashFoundation/zebra#4967 -->
<g id="node17" class="node open">
<title>ZcashFoundation/zebra#4967</title>
<g id="a_node17"><a xlink:href="https://github.com/ZcashFoundation/zebra/pull/4967" xlink:title="ZcashFoundation/zebra#4967&#10;feat(rpc): add&#10;getblockhash rpc method" target="_blank">
<polygon fill="#a7c2aa" stroke="#000000" points="816,-829.5 584,-829.5 584,-825.5 580,-825.5 580,-821.5 584,-821.5 584,-784.5 580,-784.5 580,-780.5 584,-780.5 584,-776.5 816,-776.5 816,-829.5"/>
<polyline fill="none" stroke="#000000" points="584,-825.5 588,-825.5 588,-821.5 584,-821.5 "/>
<polyline fill="none" stroke="#000000" points="584,-784.5 588,-784.5 588,-780.5 584,-780.5 "/>
<text text-anchor="middle" x="700" y="-814.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#4967</text>
<text text-anchor="middle" x="700" y="-799.3" font-family="Times,serif" font-size="14.00" fill="#000000">feat(rpc): add</text>
<text text-anchor="middle" x="700" y="-784.3" font-family="Times,serif" font-size="14.00" fill="#000000">getblockhash rpc method</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4967 -->
<g id="edge6" class="edge">
<title>ZcashFoundation/zebra#3050&#45;&gt;ZcashFoundation/zebra#4967</title>
<path fill="none" stroke="#000000" d="M528.31,-803C543.15,-803 558.4,-803 573.39,-803"/>
<polygon fill="#000000" stroke="#000000" points="573.72,-806.5001 583.72,-803 573.72,-799.5001 573.72,-806.5001"/>
</g>
<!-- ZcashFoundation/zebra#5168 -->
<g id="node15" class="node open">
<title>ZcashFoundation/zebra#5168</title>
<g id="a_node15"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/5168" xlink:title="ZcashFoundation/zebra#5168&#10;Add Docker tests for&#10;default config and&#10;$ZEBRA_CONF_PATH" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="528,-672 296,-672 296,-604 528,-604 528,-672"/>
<text text-anchor="middle" x="412" y="-656.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#5168</text>
<text text-anchor="middle" x="412" y="-641.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Docker tests for</text>
<text text-anchor="middle" x="412" y="-626.8" font-family="Times,serif" font-size="14.00" fill="#000000">default config and</text>
<text text-anchor="middle" x="412" y="-611.8" font-family="Times,serif" font-size="14.00" fill="#000000">$ZEBRA_CONF_PATH</text>
</a>
</g>
</g>
<!-- ZcashFoundation/zebra#1638 -->
<g id="node16" class="node open">
<title>ZcashFoundation/zebra#1638</title>
<g id="a_node16"><a xlink:href="https://github.com/ZcashFoundation/zebra/issues/1638" xlink:title="ZcashFoundation/zebra#1638&#10;Create PGP keys amongst&#10;security@zfnd.org" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="528,-585.5 296,-585.5 296,-532.5 528,-532.5 528,-585.5"/>
<text text-anchor="middle" x="412" y="-570.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZcashFoundation/zebra#1638</text>
<text text-anchor="middle" x="412" y="-555.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create PGP keys amongst</text>
<text text-anchor="middle" x="412" y="-540.3" font-family="Times,serif" font-size="14.00" fill="#000000">security@zfnd.org</text>
</a>
</g>
</g>
</g>
</svg>
</div>
<script>
svgPanZoom('#dag > svg', {
zoomScaleSensitivity: 0.4
});
</script>
</body>
</html>