ahriman/docs/ahriman-architecture.svg
2023-03-06 01:15:47 +02:00

6538 lines
660 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 7.1.0 (0)
-->
<!-- Title: G Pages: 1 -->
<svg width="15498pt" height="4971pt"
viewBox="0.00 0.00 15497.92 4971.47" 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 4967.47)">
<title>G</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="white" stroke="none" points="-4,4 -4,-4967.47 15493.92,-4967.47 15493.92,4 -4,4"/>
<!-- ahriman_application_ahriman -->
<g id="node1" class="node">
<title>ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#6b412e" stroke="black" cx="7476.29" cy="-28.99" rx="46.84" ry="28.98"/>
<text text-anchor="middle" x="7476.29" y="-37.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7476.29" y="-26.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="7476.29" y="-15.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman</text>
</g>
<!-- ahriman_application_application -->
<g id="node2" class="node">
<title>ahriman_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db4905" stroke="black" cx="5373.29" cy="-874.19" rx="46.84" ry="28.98"/>
<text text-anchor="middle" x="5373.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5373.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5373.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application</text>
</g>
<!-- ahriman_application_handlers_add -->
<g id="node8" class="node">
<title>ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="5868.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="5868.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5868.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5868.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="5868.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">add</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_add -->
<g id="edge1" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5757.29,-755.87C5783.58,-733.77 5811.33,-706.88 5832.51,-685.52"/>
<polygon fill="#db4905" stroke="black" points="5834.99,-687.99 5839.51,-678.41 5830,-683.08 5834.99,-687.99"/>
</g>
<!-- ahriman_application_handlers_clean -->
<g id="node10" class="node">
<title>ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="6090.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="6090.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6090.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="6090.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="6090.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">clean</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_clean -->
<g id="edge2" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5419.07,-867.03C5493.85,-856.3 5646.4,-831.63 5771.29,-793.64 5892.82,-756.68 5922.9,-743.32 6035.29,-684.1 6038.77,-682.27 6042.31,-680.28 6045.84,-678.21"/>
<polygon fill="#db4905" stroke="black" points="6047.65,-681.2 6054.37,-673.01 6044.01,-675.23 6047.65,-681.2"/>
</g>
<!-- ahriman_application_handlers_key_import -->
<g id="node15" class="node">
<title>ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="6201.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="6201.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6201.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="6201.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="6201.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">key_import</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_key_import -->
<g id="edge3" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5419.85,-869.57C5510.09,-861.74 5714.49,-840.09 5880.29,-793.64 6003.4,-759.16 6033.1,-743.56 6146.29,-684.1 6149.77,-682.27 6153.32,-680.29 6156.84,-678.22"/>
<polygon fill="#db4905" stroke="black" points="6158.65,-681.21 6165.37,-673.02 6155.01,-675.24 6158.65,-681.21"/>
</g>
<!-- ahriman_application_handlers_patch -->
<g id="node16" class="node">
<title>ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="2231.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="2231.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2231.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2231.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2231.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">patch</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge4" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5326.36,-872.63C5088.48,-869.51 4021.83,-852.31 3887.29,-793.64 3844.2,-774.86 3854.64,-738.26 3811.29,-720.1 3658.95,-656.31 2487.35,-715.93 2325.29,-684.1 2310.68,-681.24 2295.37,-676.31 2281.46,-671.02"/>
<polygon fill="#db4905" stroke="black" points="2283.11,-667.91 2272.53,-667.48 2280.54,-674.42 2283.11,-667.91"/>
</g>
<!-- ahriman_application_handlers_rebuild -->
<g id="node17" class="node">
<title>ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#82472b" stroke="black" cx="1931.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="1931.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1931.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1931.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1931.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">rebuild</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge5" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5326.14,-873C4935.51,-871.3 2245.14,-857.29 2088.29,-793.64 2034.99,-772.02 1988.72,-723.37 1960.48,-688.32"/>
<polygon fill="#db4905" stroke="black" points="1963.57,-686.59 1954.63,-680.91 1958.08,-690.93 1963.57,-686.59"/>
</g>
<!-- ahriman_application_handlers_remove -->
<g id="node18" class="node">
<title>ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="7215.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="7215.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7215.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="7215.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="7215.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remove</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_remove -->
<g id="edge6" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5419.28,-867.58C5670.85,-836.87 6879.18,-689.36 7157.86,-655.35"/>
<polygon fill="#db4905" stroke="black" points="7157.91,-658.87 7167.41,-654.18 7157.06,-651.92 7157.91,-658.87"/>
</g>
<!-- ahriman_application_handlers_remove_unknown -->
<g id="node19" class="node">
<title>ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#914f30" stroke="black" cx="5161.29" cy="-647.34" rx="65.11" ry="36.54"/>
<text text-anchor="middle" x="5161.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5161.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5161.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="5161.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remove_unknown</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge7" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5161.29,-755.87C5137.6,-748.7 5138.44,-720.12 5144.77,-694.23"/>
<polygon fill="#db4905" stroke="black" points="5148.07,-695.4 5147.35,-684.83 5141.33,-693.54 5148.07,-695.4"/>
</g>
<!-- ahriman_application_handlers_search -->
<g id="node21" class="node">
<title>ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="1382.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="1382.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1382.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1382.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1382.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">search</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_search -->
<g id="edge8" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5326.15,-873.37C4965.24,-874.52 2635.26,-878.56 1936.29,-793.64 1713.47,-766.58 1652.19,-766.21 1443.29,-684.1 1438.07,-682.05 1432.76,-679.59 1427.58,-676.94"/>
<polygon fill="#db4905" stroke="black" points="1429.59,-674.05 1419.13,-672.36 1426.26,-680.2 1429.59,-674.05"/>
</g>
<!-- ahriman_application_handlers_service_updates -->
<g id="node22" class="node">
<title>ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a4228" stroke="black" cx="2509.29" cy="-647.34" rx="62.87" ry="36.54"/>
<text text-anchor="middle" x="2509.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2509.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2509.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2509.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service_updates</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge9" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5344.51,-851.07C5334.56,-843.85 5323.17,-836.04 5312.29,-829.64 5248.25,-791.96 5232.41,-779.4 5161.29,-757.87"/>
<path fill="none" stroke="black" d="M5161.29,-755.87C4908.88,-679.47 2987.2,-653.72 2583.54,-649.13"/>
<polygon fill="#db4905" stroke="black" points="2583.87,-645.63 2573.83,-649.02 2583.79,-652.63 2583.87,-645.63"/>
</g>
<!-- ahriman_application_handlers_setup -->
<g id="node23" class="node">
<title>ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="5979.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="5979.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5979.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5979.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="5979.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">setup</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge10" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5757.29,-755.87C5819.12,-703.88 5853.06,-722.21 5924.29,-684.1 5927.76,-682.25 5931.29,-680.24 5934.81,-678.16"/>
<polygon fill="#db4905" stroke="black" points="5936.63,-681.15 5943.33,-672.94 5932.97,-675.18 5936.63,-681.15"/>
</g>
<!-- ahriman_application_handlers_shell -->
<g id="node24" class="node">
<title>ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#914f30" stroke="black" cx="5646.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="5646.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5646.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5646.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="5646.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">shell</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge11" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5420.23,-870.83C5498.69,-864.56 5657.66,-841.65 5757.29,-757.87"/>
<path fill="none" stroke="black" d="M5757.29,-755.87C5773.33,-742.38 5728.44,-705.3 5691.01,-678.44"/>
<polygon fill="#db4905" stroke="black" points="5693.12,-675.65 5682.94,-672.73 5689.08,-681.36 5693.12,-675.65"/>
</g>
<!-- ahriman_application_handlers_sign -->
<g id="node25" class="node">
<title>ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="7365.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="7365.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7365.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="7365.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="7365.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sign</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_sign -->
<g id="edge12" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5420.33,-871.74C5662.15,-864.04 6766.87,-825.69 7102.29,-757.87"/>
<path fill="none" stroke="black" d="M7102.29,-755.87C7181,-739.96 7265.95,-700.8 7317.38,-674.4"/>
<polygon fill="#db4905" stroke="black" points="7318.91,-677.54 7326.17,-669.83 7315.69,-671.33 7318.91,-677.54"/>
</g>
<!-- ahriman_application_handlers_status -->
<g id="node26" class="node">
<title>ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a4228" stroke="black" cx="2381.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="2381.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2381.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2381.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2381.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_status -->
<g id="edge13" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5327.49,-867.16C5145.67,-843.48 4457.03,-756.47 3887.29,-720.1 3726.45,-709.84 2591.41,-731.21 2437.29,-684.1 2433,-682.8 2428.73,-681.06 2424.57,-679.06"/>
<polygon fill="#db4905" stroke="black" points="2426.28,-676.01 2415.81,-674.34 2422.96,-682.17 2426.28,-676.01"/>
</g>
<!-- ahriman_application_handlers_status_update -->
<g id="node27" class="node">
<title>ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="14896.29" cy="-647.34" rx="55.31" ry="36.54"/>
<text text-anchor="middle" x="14896.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14896.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="14896.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="14896.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status_update</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge14" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5420.49,-873C5968.77,-870.73 11137.09,-848.04 12671.29,-793.64 13482.9,-764.87 13685.41,-744.53 14495.29,-684.1 14613.37,-675.29 14750.79,-662.48 14830.23,-654.82"/>
<polygon fill="#db4905" stroke="black" points="14830.4,-658.32 14840.01,-653.87 14829.72,-651.35 14830.4,-658.32"/>
</g>
<!-- ahriman_application_handlers_structure -->
<g id="node28" class="node">
<title>ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="2081.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="2081.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2081.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2081.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2081.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">structure</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge15" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5326.26,-872.42C4979.48,-866.41 2814.43,-823.7 2175.29,-684.1 2160.74,-680.93 2145.46,-675.9 2131.54,-670.6"/>
<polygon fill="#db4905" stroke="black" points="2133.2,-667.49 2122.61,-667.09 2130.63,-674.01 2133.2,-667.49"/>
</g>
<!-- ahriman_application_handlers_triggers -->
<g id="node29" class="node">
<title>ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="7476.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="7476.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7476.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="7476.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="7476.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge16" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7102.29,-755.87C7244.73,-727.07 7287.38,-740.56 7421.29,-684.1 7425.08,-682.51 7428.9,-680.65 7432.66,-678.63"/>
<polygon fill="#db4905" stroke="black" points="7434.19,-681.79 7441.1,-673.76 7430.69,-675.72 7434.19,-681.79"/>
</g>
<!-- ahriman_application_handlers_update -->
<g id="node31" class="node">
<title>ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="5757.29" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="5757.29" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5757.29" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5757.29" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="5757.29" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_update -->
<g id="edge17" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5757.29,-755.87C5774.71,-741.23 5775.54,-716.14 5771.63,-693.89"/>
<polygon fill="#db4905" stroke="black" points="5775.11,-693.45 5769.61,-684.39 5768.26,-694.9 5775.11,-693.45"/>
</g>
<!-- ahriman_application_application_application -->
<g id="node3" class="node">
<title>ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="5185.29" cy="-991.51" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="5185.29" y="-1005.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5185.29" y="-994.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5185.29" y="-983.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5185.29" y="-972.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application</text>
</g>
<!-- ahriman_application_application_application&#45;&gt;ahriman_application_application -->
<g id="edge18" class="edge">
<title>ahriman_application_application_application&#45;&gt;ahriman_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5221.54,-968.27C5252.77,-949.12 5297.89,-921.44 5330.81,-901.25"/>
<polygon fill="#8a4b2e" stroke="black" points="5332.62,-904.24 5339.32,-896.03 5328.96,-898.27 5332.62,-904.24"/>
</g>
<!-- ahriman_application_application_application_packages -->
<g id="node4" class="node">
<title>ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="5366.29" cy="-1101.05" rx="77.56" ry="36.54"/>
<text text-anchor="middle" x="5366.29" y="-1115.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5366.29" y="-1104.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5366.29" y="-1093.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5366.29" y="-1082.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application_packages</text>
</g>
<!-- ahriman_application_application_application_packages&#45;&gt;ahriman_application_application_application -->
<g id="edge19" class="edge">
<title>ahriman_application_application_application_packages&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5318.73,-1071.79C5291.98,-1055.9 5258.72,-1036.14 5232.09,-1020.32"/>
<polygon fill="#733e26" stroke="black" points="5233.93,-1017.34 5223.54,-1015.24 5230.35,-1023.36 5233.93,-1017.34"/>
</g>
<!-- ahriman_application_application_application_properties -->
<g id="node5" class="node">
<title>ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a34f28" stroke="black" cx="5795.29" cy="-1210.59" rx="79.39" ry="36.54"/>
<text text-anchor="middle" x="5795.29" y="-1224.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5795.29" y="-1213.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5795.29" y="-1202.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5795.29" y="-1191.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application_properties</text>
</g>
<!-- ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge20" class="edge">
<title>ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5726.36,-1192.31C5649.68,-1173.09 5525.99,-1142.08 5445.41,-1121.88"/>
<polygon fill="#a34f28" stroke="black" points="5446.35,-1118.51 5435.8,-1119.47 5444.65,-1125.3 5446.35,-1118.51"/>
</g>
<!-- ahriman_application_application_application_repository -->
<g id="node6" class="node">
<title>ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="4545.29" cy="-1101.05" rx="79.39" ry="36.54"/>
<text text-anchor="middle" x="4545.29" y="-1115.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4545.29" y="-1104.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="4545.29" y="-1093.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="4545.29" y="-1082.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application_repository</text>
</g>
<!-- ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge21" class="edge">
<title>ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5717.57,-1202.9C5497.02,-1183.93 4868.16,-1129.82 4634.3,-1109.71"/>
<polygon fill="#a34f28" stroke="black" points="4634.91,-1106.25 4624.64,-1108.87 4634.31,-1113.22 4634.91,-1106.25"/>
</g>
<!-- ahriman_application_application_application_repository&#45;&gt;ahriman_application_application_application -->
<g id="edge22" class="edge">
<title>ahriman_application_application_application_repository&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4616.24,-1084.09C4646.39,-1077.55 4681.98,-1070.15 4714.29,-1064.28 4862.81,-1037.27 5038.94,-1012.29 5127.83,-1000.18"/>
<polygon fill="#733e26" stroke="black" points="5128.07,-1003.68 5137.51,-998.87 5127.13,-996.74 5128.07,-1003.68"/>
</g>
<!-- ahriman_application_handlers -->
<g id="node7" class="node">
<title>ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#953103" stroke="black" cx="7476.29" cy="-122.97" rx="46.84" ry="28.98"/>
<text text-anchor="middle" x="7476.29" y="-131.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7476.29" y="-120.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="7476.29" y="-109.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers</text>
</g>
<!-- ahriman_application_handlers&#45;&gt;ahriman_application_ahriman -->
<g id="edge23" class="edge">
<title>ahriman_application_handlers&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7476.29,-93.63C7476.29,-86.11 7476.29,-77.85 7476.29,-69.84"/>
<polygon fill="#953103" stroke="black" points="7479.79,-69.92 7476.29,-59.92 7472.79,-69.92 7479.79,-69.92"/>
</g>
<!-- ahriman_application_handlers_add&#45;&gt;ahriman_application_handlers -->
<g id="edge24" class="edge">
<title>ahriman_application_handlers_add&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5904.33,-623.54C5929.41,-605.7 5961.44,-578.6 5979.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_backup -->
<g id="node9" class="node">
<title>ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="7551.29" cy="-334.27" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="7551.29" y="-348.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7551.29" y="-337.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="7551.29" y="-326.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="7551.29" y="-315.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">backup</text>
</g>
<!-- ahriman_application_handlers_backup&#45;&gt;ahriman_application_handlers -->
<g id="edge25" class="edge">
<title>ahriman_application_handlers_backup&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7521.46,-305.54C7502.84,-285.55 7481.44,-256.72 7476.29,-225.74"/>
</g>
<!-- ahriman_application_handlers_clean&#45;&gt;ahriman_application_handlers -->
<g id="edge26" class="edge">
<title>ahriman_application_handlers_clean&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6056.84,-621.5C6022.28,-595.13 5974.05,-555.97 5979.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_daemon -->
<g id="node11" class="node">
<title>ahriman_application_handlers_daemon</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15735" stroke="black" cx="7551.29" cy="-224.74" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="7551.29" y="-238.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7551.29" y="-227.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="7551.29" y="-216.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="7551.29" y="-205.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">daemon</text>
</g>
<!-- ahriman_application_handlers_daemon&#45;&gt;ahriman_application_handlers -->
<g id="edge27" class="edge">
<title>ahriman_application_handlers_daemon&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7527.97,-192.72C7519.84,-181.9 7510.67,-169.7 7502.33,-158.61"/>
<polygon fill="#a15735" stroke="black" points="7505.28,-156.71 7496.47,-150.82 7499.69,-160.92 7505.28,-156.71"/>
</g>
<!-- ahriman_application_handlers_dump -->
<g id="node12" class="node">
<title>ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="1608.29" cy="-1429.67" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="1608.29" y="-1443.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1608.29" y="-1432.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1608.29" y="-1421.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1608.29" y="-1410.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">dump</text>
</g>
<!-- ahriman_application_handlers_dump&#45;&gt;ahriman_application_handlers -->
<g id="edge28" class="edge">
<title>ahriman_application_handlers_dump&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1604.52,-1392.97C1595.87,-1297.59 1581.02,-1030.38 1660.29,-829.64 1683.02,-772.07 1704.07,-765.36 1746.29,-720.1 1812.09,-649.57 1839.98,-643.66 1907.29,-574.57 1918.72,-562.83 1917.85,-555.96 1931.29,-546.57"/>
<path fill="none" stroke="black" d="M1931.29,-544.57C2037.78,-452.9 2192.86,-579.97 2231.29,-444.81"/>
<path fill="none" stroke="black" d="M2231.29,-442.81C2245.65,-392.29 2136.17,-360.4 2182.29,-335.27"/>
</g>
<!-- ahriman_application_handlers_handler -->
<g id="node13" class="node">
<title>ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#82472b" stroke="black" cx="14699.29" cy="-2180.88" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="14699.29" y="-2194.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14699.29" y="-2183.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="14699.29" y="-2172.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="14699.29" y="-2161.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handler</text>
</g>
<!-- ahriman_application_handlers_handler&#45;&gt;ahriman_application_handlers -->
<g id="edge29" class="edge">
<title>ahriman_application_handlers_handler&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14694.41,-2144.3C14686.68,-2077.41 14676.58,-1929.4 14719.29,-1815.5 14733.49,-1777.61 14768.65,-1783.64 14775.29,-1743.73"/>
<path fill="none" stroke="black" d="M14775.29,-1741.73C14788.85,-1649.7 14775.29,-1625.45 14775.29,-1532.43 14775.29,-1532.43 14775.29,-1532.43 14775.29,-442.81 14775.29,-377.36 14787.69,-361.93 14799.29,-297.5 14805.05,-265.52 14837.34,-247.6 14813.29,-225.74"/>
<path fill="none" stroke="black" d="M14813.29,-223.74C14739.7,-161.22 8219.91,-127.62 7534.41,-124.25"/>
<polygon fill="#82472b" stroke="black" points="7534.66,-120.76 7524.64,-124.21 7534.62,-127.76 7534.66,-120.76"/>
</g>
<!-- ahriman_application_handlers_help -->
<g id="node14" class="node">
<title>ahriman_application_handlers_help</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15735" stroke="black" cx="7401.29" cy="-224.74" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="7401.29" y="-238.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7401.29" y="-227.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="7401.29" y="-216.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="7401.29" y="-205.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">help</text>
</g>
<!-- ahriman_application_handlers_help&#45;&gt;ahriman_application_handlers -->
<g id="edge30" class="edge">
<title>ahriman_application_handlers_help&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7424.61,-192.72C7432.74,-181.9 7441.91,-169.7 7450.25,-158.61"/>
<polygon fill="#a15735" stroke="black" points="7452.89,-160.92 7456.1,-150.82 7447.29,-156.71 7452.89,-160.92"/>
</g>
<!-- ahriman_application_handlers_key_import&#45;&gt;ahriman_application_handlers -->
<g id="edge31" class="edge">
<title>ahriman_application_handlers_key_import&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6166.74,-622.3C6160.09,-618.13 6153.09,-614.03 6146.29,-610.57 6075.47,-574.48 5940.6,-616.01 5979.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_patch&#45;&gt;ahriman_application_handlers -->
<g id="edge32" class="edge">
<title>ahriman_application_handlers_patch&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2234.54,-610.47C2235.46,-591.34 2235.31,-567.49 2231.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_rebuild&#45;&gt;ahriman_application_handlers -->
<g id="edge33" class="edge">
<title>ahriman_application_handlers_rebuild&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1919.04,-612C1913.27,-588.99 1911.41,-560.46 1931.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_remove&#45;&gt;ahriman_application_handlers -->
<g id="edge34" class="edge">
<title>ahriman_application_handlers_remove&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7253.02,-625.37C7322.42,-585.67 7464.34,-498.68 7476.29,-444.81"/>
<path fill="none" stroke="black" d="M7476.29,-442.81C7498.13,-348.84 7492.13,-320.91 7476.29,-225.74"/>
<path fill="none" stroke="black" d="M7476.29,-223.74C7472.53,-204.11 7472.16,-181.9 7472.89,-163.44"/>
<polygon fill="#995333" stroke="black" points="7476.37,-163.87 7473.4,-153.7 7469.38,-163.5 7476.37,-163.87"/>
</g>
<!-- ahriman_application_handlers_remove_unknown&#45;&gt;ahriman_application_handlers -->
<g id="edge35" class="edge">
<title>ahriman_application_handlers_remove_unknown&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5225.85,-641.28C5415.84,-626.04 5960.9,-579.58 5979.29,-546.57"/>
<path fill="none" stroke="black" d="M5979.29,-544.57C6126.4,-280.53 7161.6,-156.59 7418.63,-129.69"/>
<polygon fill="#914f30" stroke="black" points="7418.83,-133.19 7428.42,-128.67 7418.11,-126.23 7418.83,-133.19"/>
</g>
<!-- ahriman_application_handlers_restore -->
<g id="node20" class="node">
<title>ahriman_application_handlers_restore</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15735" stroke="black" cx="5904.29" cy="-224.74" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="5904.29" y="-238.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5904.29" y="-227.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5904.29" y="-216.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="5904.29" y="-205.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">restore</text>
</g>
<!-- ahriman_application_handlers_restore&#45;&gt;ahriman_application_handlers -->
<g id="edge36" class="edge">
<title>ahriman_application_handlers_restore&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5938.75,-199.64C5947.09,-194.94 5956.22,-190.64 5965.29,-187.97 6106.29,-146.45 7156.78,-128.6 7417.74,-124.78"/>
<polygon fill="#a15735" stroke="black" points="7417.75,-128.28 7427.69,-124.64 7417.64,-121.28 7417.75,-128.28"/>
</g>
<!-- ahriman_application_handlers_search&#45;&gt;ahriman_application_handlers -->
<g id="edge37" class="edge">
<title>ahriman_application_handlers_search&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1418.5,-623.71C1426.52,-619.1 1435.08,-614.46 1443.29,-610.57 1482.86,-591.77 2168.82,-376.97 2182.29,-335.27"/>
<path fill="none" stroke="black" d="M2182.29,-333.27C2226.51,-202.52 6844.49,-132.93 7418.05,-124.78"/>
<polygon fill="#733e26" stroke="black" points="7417.85,-128.29 7427.8,-124.65 7417.76,-121.29 7417.85,-128.29"/>
</g>
<!-- ahriman_application_handlers_service_updates&#45;&gt;ahriman_application_handlers -->
<g id="edge38" class="edge">
<title>ahriman_application_handlers_service_updates&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2463.31,-622.13C2454.77,-618.03 2445.84,-613.99 2437.29,-610.57 2348.3,-574.9 2249.38,-640.72 2231.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_setup&#45;&gt;ahriman_application_handlers -->
<g id="edge39" class="edge">
<title>ahriman_application_handlers_setup&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5971.2,-610.98C5968.5,-590.88 5968.5,-565.94 5979.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_shell&#45;&gt;ahriman_application_handlers -->
<g id="edge40" class="edge">
<title>ahriman_application_handlers_shell&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5680.17,-621.69C5686.94,-617.53 5694.16,-613.59 5701.29,-610.57 5817.99,-561.03 5917.58,-657.33 5979.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_sign&#45;&gt;ahriman_application_handlers -->
<g id="edge41" class="edge">
<title>ahriman_application_handlers_sign&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7399.7,-622.17C7430.39,-599.55 7471.25,-566.35 7476.29,-546.57"/>
<path fill="none" stroke="black" d="M7476.29,-544.57C7487.24,-501.61 7466.68,-488.1 7476.29,-444.81"/>
</g>
<!-- ahriman_application_handlers_status&#45;&gt;ahriman_application_handlers -->
<g id="edge42" class="edge">
<title>ahriman_application_handlers_status&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2341.29,-627.85C2298.55,-606.86 2236.21,-572.22 2231.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_status_update&#45;&gt;ahriman_application_handlers -->
<g id="edge43" class="edge">
<title>ahriman_application_handlers_status_update&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14901.05,-610.58C14909.64,-529.8 14918.08,-331.99 14813.29,-225.74"/>
</g>
<!-- ahriman_application_handlers_structure&#45;&gt;ahriman_application_handlers -->
<g id="edge44" class="edge">
<title>ahriman_application_handlers_structure&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2117.99,-624.24C2162.81,-596.94 2232.57,-553.25 2231.29,-546.57"/>
<path fill="none" stroke="black" d="M2231.29,-544.57C2222.92,-501.03 2219.16,-487.46 2231.29,-444.81"/>
</g>
<!-- ahriman_application_handlers_triggers&#45;&gt;ahriman_application_handlers -->
<g id="edge45" class="edge">
<title>ahriman_application_handlers_triggers&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7472.06,-610.72C7470.82,-591.44 7470.98,-567.38 7476.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_unsafe_commands -->
<g id="node30" class="node">
<title>ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="2133.29" cy="-443.81" rx="70.01" ry="36.54"/>
<text text-anchor="middle" x="2133.29" y="-457.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2133.29" y="-446.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2133.29" y="-435.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2133.29" y="-424.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">unsafe_commands</text>
</g>
<!-- ahriman_application_handlers_unsafe_commands&#45;&gt;ahriman_application_handlers -->
<g id="edge46" class="edge">
<title>ahriman_application_handlers_unsafe_commands&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2151.49,-408.27C2161.77,-387.57 2174.15,-360.46 2182.29,-335.27"/>
</g>
<!-- ahriman_application_handlers_update&#45;&gt;ahriman_application_handlers -->
<g id="edge47" class="edge">
<title>ahriman_application_handlers_update&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5791.84,-622.3C5798.48,-618.13 5805.49,-614.03 5812.29,-610.57 5883.11,-574.48 5940.6,-616.01 5979.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_users -->
<g id="node32" class="node">
<title>ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="14775.29" cy="-1852.27" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="14775.29" y="-1866.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14775.29" y="-1855.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="14775.29" y="-1844.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="14775.29" y="-1833.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">users</text>
</g>
<!-- ahriman_application_handlers_users&#45;&gt;ahriman_application_handlers -->
<g id="edge48" class="edge">
<title>ahriman_application_handlers_users&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14772.37,-1815.67C14771.36,-1794.6 14771.33,-1767.48 14775.29,-1743.73"/>
</g>
<!-- ahriman_application_handlers_validate -->
<g id="node33" class="node">
<title>ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a4228" stroke="black" cx="2146.29" cy="-1961.8" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="2146.29" y="-1975.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2146.29" y="-1964.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2146.29" y="-1953.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2146.29" y="-1942.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">validate</text>
</g>
<!-- ahriman_application_handlers_validate&#45;&gt;ahriman_application_handlers -->
<g id="edge49" class="edge">
<title>ahriman_application_handlers_validate&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2147.43,-1924.81C2150.06,-1839.19 2156.29,-1616.62 2156.29,-1430.67 2156.29,-1430.67 2156.29,-1430.67 2156.29,-755.87 2156.29,-690.74 2148.46,-669.92 2175.29,-610.57 2190.85,-576.13 2238.42,-583.69 2231.29,-546.57"/>
</g>
<!-- ahriman_application_handlers_versions -->
<g id="node34" class="node">
<title>ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="15186.29" cy="-2180.88" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="15186.29" y="-2194.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15186.29" y="-2183.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="15186.29" y="-2172.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="15186.29" y="-2161.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">versions</text>
</g>
<!-- ahriman_application_handlers_versions&#45;&gt;ahriman_application_handlers -->
<g id="edge50" class="edge">
<title>ahriman_application_handlers_versions&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15196.01,-2144.85C15206.97,-2102.2 15223.29,-2027.8 15223.29,-1962.8 15223.29,-1962.8 15223.29,-1962.8 15223.29,-1851.27 15223.29,-1664.33 15225.29,-1617.6 15225.29,-1430.67 15225.29,-1430.67 15225.29,-1430.67 15225.29,-333.27 15225.29,-144.96 15012.58,-221.56 14827.29,-187.97 14447.1,-119.03 8206.6,-123.25 7534.77,-123.91"/>
<polygon fill="#8a4b2e" stroke="black" points="7534.99,-120.41 7524.99,-123.92 7535,-127.41 7534.99,-120.41"/>
</g>
<!-- ahriman_application_handlers_web -->
<g id="node35" class="node">
<title>ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="7662.29" cy="-224.74" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="7662.29" y="-238.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7662.29" y="-227.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="7662.29" y="-216.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="7662.29" y="-205.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web</text>
</g>
<!-- ahriman_application_handlers_web&#45;&gt;ahriman_application_handlers -->
<g id="edge51" class="edge">
<title>ahriman_application_handlers_web&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7627.18,-200C7620.65,-195.84 7613.83,-191.67 7607.29,-187.97 7580.41,-172.73 7549.38,-157.48 7524.27,-145.69"/>
<polygon fill="#8a4b2e" stroke="black" points="7525.81,-142.55 7515.27,-141.49 7522.86,-148.89 7525.81,-142.55"/>
</g>
<!-- ahriman_application_lock -->
<g id="node36" class="node">
<title>ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="14596.29" cy="-2423.3" rx="46.84" ry="28.98"/>
<text text-anchor="middle" x="14596.29" y="-2431.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14596.29" y="-2420.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="14596.29" y="-2409.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">lock</text>
</g>
<!-- ahriman_application_lock&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge52" class="edge">
<title>ahriman_application_lock&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14588.25,-2394.47C14582.29,-2367.82 14578,-2327.58 14596.29,-2299.2"/>
</g>
<!-- ahriman_core -->
<g id="node37" class="node">
<title>ahriman_core</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e54c05" stroke="black" cx="5640.29" cy="-4768.5" rx="42.94" ry="18"/>
<text text-anchor="middle" x="5640.29" y="-4766" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.core</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_ahriman -->
<g id="edge53" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5682.81,-4764.71C5775.85,-4758.76 6004.51,-4744.9 6196.29,-4739.51 6532.11,-4730.06 11909.85,-4744.48 12243.29,-4703.51 12377.67,-4686.99 12409.06,-4668.53 12539.29,-4631.51 12973.01,-4508.19 14123.11,-4292.17 14468.29,-4002.04 14557.86,-3926.75 14636.14,-3623.19 14715.29,-3537.01 14924.27,-3309.46 15231.83,-3461.45 15299.29,-3159.96"/>
<path fill="none" stroke="black" d="M15299.29,-3157.96C15373.06,-2877.54 15489.29,-2823.79 15489.29,-2533.83 15489.29,-2533.83 15489.29,-2533.83 15489.29,-2297.2 15489.29,-2197.26 15480.04,-2171.85 15489.29,-2072.34"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge54" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4650.29,-4684.51C4597.46,-4606.84 4975.94,-4529.84 4993.29,-4437.53"/>
<path fill="none" stroke="black" d="M4993.29,-4435.53C5005.41,-4324 4841.29,-4346.2 4841.29,-4234.01 4841.29,-4234.01 4841.29,-4234.01 4841.29,-3846.95 4841.29,-3743.06 5175.81,-3084.89 5202.29,-2984.43 5248.07,-2810.74 5298.29,-2361.5 5298.29,-2181.88 5298.29,-2181.88 5298.29,-2181.88 5298.29,-1741.73 5298.29,-1648.7 5281.75,-1623.97 5298.29,-1532.43"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge55" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5597.35,-4766.68C5419.77,-4763.03 4748.11,-4746.47 4664.29,-4703.51 4655.58,-4699.04 4655.23,-4694.96 4650.29,-4686.51"/>
<path fill="none" stroke="black" d="M4650.29,-4684.51C4608.28,-4612.63 4630.56,-4582.26 4610.29,-4501.52 4574.35,-4358.39 4299.28,-3362.06 4247.29,-3223.95 4200.92,-3100.77 4120.29,-3088.05 4120.29,-2956.43 4120.29,-2956.43 4120.29,-2956.43 4120.29,-2743.13 4120.29,-2579.95 4068.9,-2510.42 4165.29,-2378.75 4187.13,-2348.91 4213.38,-2368.11 4240.29,-2342.75 4354.27,-2235.31 4312.45,-2156.09 4411.29,-2034.57 4664.24,-1723.58 4888.11,-1868.65 5236.29,-1669.96 5292.97,-1637.61 5626.6,-1355.21 5749.69,-1250.46"/>
<polygon fill="#e54c05" stroke="black" points="5751.69,-1253.36 5757.03,-1244.22 5747.15,-1248.03 5751.69,-1253.36"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge56" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4498.29,-4684.51C4438.26,-4642.82 4392.26,-4109.56 4377.29,-4038.04 4269.88,-3525.09 4133.06,-3413.83 4106.29,-2890.44 4097.51,-2718.84 4095.75,-2675.51 4103.29,-2503.84 4105.73,-2448.08 4105.73,-2433.9 4114.29,-2378.75 4158.61,-2092.96 4256.29,-2032.93 4256.29,-1743.73 4256.29,-1743.73 4256.29,-1743.73 4256.29,-1530.43 4256.29,-1373.25 4344.03,-1354.58 4409.29,-1211.59"/>
<path fill="none" stroke="black" d="M4409.29,-1209.59C4420.76,-1175.93 4450.61,-1150.43 4479.43,-1132.73"/>
<polygon fill="#e54c05" stroke="black" points="4480.98,-1135.88 4487.83,-1127.79 4477.43,-1129.84 4480.98,-1135.88"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_add -->
<g id="edge57" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5598.06,-4764.74C5493.13,-4756.07 5233.57,-4722.35 5298.29,-4603.51"/>
<path fill="none" stroke="black" d="M5298.29,-4601.51C5273.79,-4525.01 5222.29,-4517.86 5222.29,-4437.53 5222.29,-4437.53 5222.29,-4437.53 5222.29,-3752.97 5222.29,-3572.09 5431.29,-3155.41 5490.29,-2984.43 5613.23,-2628.14 5764.29,-2558.78 5764.29,-2181.88 5764.29,-2181.88 5764.29,-2181.88 5764.29,-1632.19 5764.29,-1326.94 5937.57,-1287.95 6014.29,-992.51"/>
<path fill="none" stroke="black" d="M6014.29,-990.51C6026.76,-872.91 5946.7,-748.49 5900.1,-687.16"/>
<polygon fill="#e54c05" stroke="black" points="5903.01,-685.21 5894.13,-679.43 5897.46,-689.48 5903.01,-685.21"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge58" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10830.29,-4684.51C10842.39,-4679.56 10843.22,-4674.46 10854.29,-4667.51 10882.25,-4649.93 10894.9,-4653.78 10919.29,-4631.51 10930.39,-4621.37 10933.99,-4617.92 10938.29,-4603.51"/>
<path fill="none" stroke="black" d="M10938.29,-4601.51C10961.03,-4525.23 10871.6,-4516.95 10866.29,-4437.53"/>
<path fill="none" stroke="black" d="M10866.29,-4435.53C10839.09,-4350.77 10794.16,-4346.54 10766.29,-4262 10749.2,-4210.18 10752.29,-4194.59 10752.29,-4140.03 10752.29,-4140.03 10752.29,-4140.03 10752.29,-4055.04 10752.29,-3760.2 10855.36,-3699.28 10894.29,-3407.03 10917,-3236.5 10900.96,-3192.01 10913.29,-3020.43 10926.81,-2832.25 10861.15,-2762.46 10953.29,-2597.83 10970.26,-2567.5 11049.53,-2523.36 11078.29,-2503.84 11103.7,-2486.59 11122.25,-2494.63 11137.29,-2467.84 11156.67,-2433.31 11142.88,-2417.95 11137.29,-2378.75 11102.94,-2137.94 10984.29,-2096.51 10984.29,-1853.27 10984.29,-1853.27 10984.29,-1853.27 10984.29,-1319.13 10984.29,-1110.58 10801.49,-1081.45 10832.29,-875.19"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_clean -->
<g id="edge59" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5868.29,-4518.52C5998.87,-4261.93 6091.92,-4236.3 6259.29,-4002.04 6287.04,-3963.19 6280.22,-3940.38 6319.29,-3912.94 6372.92,-3875.27 6406.86,-3911.92 6462.29,-3876.94 6490.58,-3859.09 6483.88,-3839.49 6510.29,-3818.96 6539.79,-3796.02 6555.62,-3804.32 6586.29,-3782.96 6635.28,-3748.82 6646.39,-3736.69 6682.29,-3688.97 6885.17,-3419.3 6818.9,-3273.38 7042.29,-3020.43 7163.93,-2882.69 7295.01,-2944.19 7379.29,-2780.9 7394.28,-2751.86 7399.6,-2732.97 7379.29,-2707.36 7335.61,-2652.3 7283.42,-2710.88 7225.29,-2671.36 7192.39,-2649 7203.88,-2624.41 7174.29,-2597.83 7149.43,-2575.5 7132.54,-2584.81 7108.29,-2561.83 6941.43,-2403.68 6950.29,-1995.94 6950.29,-1962.8 6950.29,-1962.8 6950.29,-1962.8 6950.29,-873.19 6950.29,-614.74 6642.25,-773.08 6389.29,-720.1 6282,-697.64 6247.82,-722.88 6145.29,-684.1 6141.38,-682.63 6137.47,-680.84 6133.63,-678.86"/>
<polygon fill="#e54c05" stroke="black" points="6135.44,-675.86 6125.01,-674 6132,-681.96 6135.44,-675.86"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_daemon -->
<g id="edge60" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_daemon</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10866.29,-4435.53C10849.12,-4376.49 10872.51,-4358.86 10881.29,-4298 10903.17,-4146.26 10942.29,-4111.8 10942.29,-3958.49 10942.29,-3958.49 10942.29,-3958.49 10942.29,-3846.95 10942.29,-3601.75 11028.34,-3552.46 11081.29,-3313.04 11113.35,-3168.08 11125.9,-3132.09 11141.29,-2984.43 11165.1,-2755.99 11152.18,-2697.5 11155.29,-2467.84 11155.82,-2428.25 11157.64,-2418.28 11155.29,-2378.75 11153.65,-2351.22 10923.02,-434.37 10919.29,-407.04 10914.93,-375.07 10932.5,-356.61 10908.29,-335.27"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge61" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5597.27,-4767.64C5365.55,-4768.16 4242.5,-4767.14 3327.29,-4703.51 3039.54,-4683.5 2953.03,-4731.01 2682.29,-4631.51 2639.02,-4615.6 2637.47,-4594.23 2596.29,-4573.52 2526.99,-4538.68 1355.06,-4126.61 1279.29,-4110.04 982.92,-4045.21 850.61,-4180.51 605.29,-4002.04 587.2,-3988.88 391.29,-3683.35 391.29,-3660.98 391.29,-3660.98 391.29,-3660.98 391.29,-3377.03 391.29,-3251.56 435.25,-2357.08 506.29,-2253.65 776,-1860.97 1056.4,-1994.33 1405.29,-1669.96 1473.69,-1606.36 1541.53,-1520.62 1578.87,-1470.92"/>
<polygon fill="#e54c05" stroke="black" points="1581.61,-1473.09 1584.8,-1462.99 1576.01,-1468.9 1581.61,-1473.09"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge62" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5682.81,-4764.72C5775.86,-4758.77 6004.51,-4744.93 6196.29,-4739.51 6830.6,-4721.55 11274.24,-4747.36 11907.29,-4703.51 11964.54,-4699.54 11979.44,-4699.72 12035.29,-4686.51"/>
<path fill="none" stroke="black" d="M12035.29,-4684.51C12060.1,-4678.63 12379.76,-4421.2 12401.29,-4407.54 12565.71,-4303.21 12616.64,-4294.09 12789.29,-4204.02 12836.93,-4179.16 14471.86,-3354.29 14506.29,-3313.04 14545.93,-3265.54 14655.99,-2841.1 14670.29,-2780.9 14693.1,-2684.83 14691.27,-2659.26 14707.29,-2561.83 14717.33,-2500.74 14726.29,-2486.12 14729.29,-2424.3"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_help -->
<g id="edge63" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_help</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5658.41,-4752.03C5681.75,-4732.19 5723.68,-4696.84 5760.29,-4667.51 5813.7,-4624.7 5824.73,-4610.57 5882.29,-4573.52 5924.58,-4546.3 5953.07,-4561.47 5982.29,-4520.52"/>
<path fill="none" stroke="black" d="M5982.29,-4518.52C6013.77,-4478.27 5993.21,-4454.94 6012.29,-4407.54 6033.01,-4356.04 6041.69,-4344.31 6072.29,-4298 6076.04,-4292.32 6369.64,-3916.74 6375.29,-3912.94 6423.25,-3880.67 6451.16,-3907.42 6500.29,-3876.94 6529.95,-3858.53 6525.01,-3839.43 6553.29,-3818.96 6584.87,-3796.09 6599.78,-3802.89 6633.29,-3782.96 6751.84,-3712.43 6799.28,-3706.65 6880.29,-3594.99 7039.07,-3376.13 6903.73,-3225.21 7080.29,-3020.43 7090.44,-3008.64 7316.79,-2900.92 7328.29,-2890.44 7371.16,-2851.36 7382.83,-2836.54 7399.29,-2780.9 7408.56,-2749.56 7419.44,-2733.09 7399.29,-2707.36 7358.07,-2654.75 7306.2,-2712.19 7253.29,-2671.36 7223.83,-2648.64 7239.82,-2623.91 7213.29,-2597.83 7188.62,-2573.58 7170.22,-2584.72 7144.29,-2561.83 7134.77,-2553.42 7083.07,-2479.96 7079.29,-2467.84 7067.49,-2430.04 7078.42,-2418.34 7079.29,-2378.75 7084.4,-2145.03 7102.29,-2087.04 7102.29,-1853.27 7102.29,-1853.27 7102.29,-1853.27 7102.29,-1632.19 7102.29,-1492.91 7140.29,-1460.4 7140.29,-1321.13 7140.29,-1321.13 7140.29,-1321.13 7140.29,-755.87 7140.29,-690.74 7124.33,-665.52 7159.29,-610.57 7196.07,-552.75 7389.93,-506.73 7419.29,-444.81"/>
<path fill="none" stroke="black" d="M7419.29,-442.81C7444.13,-387.66 7430.9,-316.69 7417.48,-271.19"/>
<polygon fill="#e54c05" stroke="black" points="7420.83,-270.17 7414.53,-261.65 7414.14,-272.23 7420.83,-270.17"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_key_import -->
<g id="edge64" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5982.29,-4518.52C5991.44,-4507.33 6109.83,-4307.98 6120.29,-4298 6143.9,-4275.47 6159.26,-4282.94 6184.29,-4262 6338.55,-4132.94 6311.06,-4033.18 6472.29,-3912.94 6505.18,-3888.41 6520.09,-3894.25 6557.29,-3876.94 6608.82,-3852.96 6616.95,-3835.65 6671.29,-3818.96 6732.31,-3800.21 6906.39,-3822.77 6956.29,-3782.96 7077.01,-3686.63 7114.97,-3262.49 7194.29,-3129.97 7293.09,-2964.89 7415.26,-2970.08 7450.29,-2780.9 7456.24,-2748.77 7470.02,-2733.42 7450.29,-2707.36 7414.6,-2660.26 7372.8,-2702.04 7322.29,-2671.36 7283.98,-2648.1 7284.28,-2630.2 7253.29,-2597.83 7197.43,-2539.49 7162.79,-2539.89 7126.29,-2467.84 6956.57,-2132.83 6988.29,-2009.74 6988.29,-1634.19 6988.29,-1634.19 6988.29,-1634.19 6988.29,-1530.43 6988.29,-1337.06 7064.29,-1295.41 7064.29,-1102.05 7064.29,-1102.05 7064.29,-1102.05 7064.29,-873.19 7064.29,-800.27 7063.51,-764 7005.29,-720.1 6946.05,-675.45 6434.77,-655.56 6259.76,-650.02"/>
<polygon fill="#e54c05" stroke="black" points="6260.1,-646.53 6249.99,-649.72 6259.88,-653.53 6260.1,-646.53"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge65" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5597.1,-4766.79C5379.27,-4763.04 4406.41,-4744.14 4278.29,-4703.51 4221.52,-4685.5 4211.44,-4669.14 4165.29,-4631.51 4149.7,-4618.79 4056.09,-4512.57 4039.29,-4501.52 4001.56,-4476.72 3981.93,-4490.46 3944.29,-4465.52 3661.13,-4277.9 3655.02,-4154.58 3416.29,-3912.94 3332.36,-3827.99 3317.04,-3800.19 3224.29,-3724.97 3087.14,-3613.76 3037.27,-3604.93 2874.29,-3537.01 2621.11,-3431.5 1969.3,-3213.19 1722.29,-3093.97 1635.89,-3052.26 1609.97,-3045.86 1536.29,-2984.43 1377.44,-2851.98 1251.26,-2803 1277.29,-2597.83 1303.5,-2391.23 1338.24,-2344.68 1394.29,-2144.11 1421.66,-2046.17 1421.6,-2019.08 1460.29,-1925.03 1631.96,-1507.74 1727.45,-1428.27 1936.29,-1028.28 1982.22,-940.31 1982.14,-911.48 2038.29,-829.64 2062.47,-794.4 2074.23,-790.11 2102.29,-757.87"/>
<path fill="none" stroke="black" d="M2102.29,-755.87C2126.95,-726.35 2160.46,-698.7 2187.15,-678.82"/>
<polygon fill="#e54c05" stroke="black" points="2189.06,-681.76 2195.05,-673.02 2184.92,-676.12 2189.06,-681.76"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge66" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5597.24,-4767.55C5375.72,-4767.57 4342.17,-4764.23 3499.29,-4703.51 3358.96,-4693.39 3006.04,-4668.44 2870.29,-4631.51 2704.55,-4586.42 2665.5,-4558.82 2521.29,-4465.52 2486.21,-4442.83 2484.61,-4426.32 2447.29,-4407.54 2267.59,-4317.11 1767.63,-4223.58 1574.29,-4168.02 1488.21,-4143.28 1469.33,-4126.49 1381.29,-4110.04 1178.4,-4072.12 1121.88,-4107.95 918.29,-4074.04 886.71,-4068.77 661.05,-4025.52 639.29,-4002.04 592.44,-3951.49 427.37,-2849.55 421.29,-2780.9 418.4,-2748.35 420.89,-2740.05 421.29,-2707.36 423.07,-2561.28 402.44,-2522.35 429.29,-2378.75 440.15,-2320.67 450.99,-2307.95 474.29,-2253.65 642.88,-1860.73 870.25,-1891.09 1141.29,-1560.42 1197.14,-1492.28 1199.07,-1466.64 1247.29,-1392.9 1279.44,-1343.72 1287.23,-1331.23 1321.29,-1283.36 1356.54,-1233.8 1366.73,-1222.42 1403.29,-1173.82 1555.26,-971.81 1544.55,-872.44 1746.29,-720.1 1784.78,-691.04 1836.5,-672.3 1875.47,-661.28"/>
<polygon fill="#e54c05" stroke="black" points="1876.17,-664.72 1884.9,-658.71 1874.33,-657.97 1876.17,-664.72"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_remove -->
<g id="edge67" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5667.35,-4754.29C5713.08,-4731.53 5807.94,-4682.44 5882.29,-4631.51 5936.46,-4594.39 5947.75,-4581.75 5996.29,-4537.52 6107.21,-4436.44 6122.83,-4398.49 6234.29,-4298 6333.1,-4208.91 6358.84,-4187.13 6467.29,-4110.04 6691.35,-3950.75 6796.83,-3976.27 6992.29,-3782.96 7062.76,-3713.26 7068.51,-3683.91 7112.29,-3594.99 7233.34,-3349.09 7183.4,-3247.9 7336.29,-3020.43 7348.07,-3002.9 7353.92,-3000.77 7367.29,-2984.43 7400.78,-2943.49 7416.83,-2937.84 7440.29,-2890.44 7462.63,-2845.31 7462.79,-2830.84 7469.29,-2780.9 7473.51,-2748.49 7487.16,-2734.73 7469.29,-2707.36 7447.52,-2674.04 7416.91,-2697.95 7387.29,-2671.36 7345.49,-2633.86 7345.44,-2613.85 7324.29,-2561.83 7286.44,-2468.73 7280.83,-2442.46 7268.29,-2342.75 7236.91,-2093.29 7253.56,-1460.01 7292.29,-1211.59"/>
<path fill="none" stroke="black" d="M7292.29,-1209.59C7294.05,-1113.12 7292.29,-1088.99 7292.29,-992.51 7292.29,-992.51 7292.29,-992.51 7292.29,-873.19 7292.29,-806.91 7261.97,-735.29 7239.39,-691.11"/>
<polygon fill="#e54c05" stroke="black" points="7242.56,-689.62 7234.82,-682.38 7236.35,-692.86 7242.56,-689.62"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge68" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5597.07,-4767.08C5402.17,-4764.94 4610.37,-4753.24 4512.29,-4703.51 4503.56,-4699.08 4506.75,-4691.43 4498.29,-4686.51"/>
<path fill="none" stroke="black" d="M4498.29,-4684.51C4477.99,-4672.69 4397.84,-4558.49 4367.29,-4520.52"/>
<path fill="none" stroke="black" d="M4367.29,-4518.52C4360.94,-4511.07 4360.43,-4508.22 4353.29,-4501.52 4333.31,-4482.8 4319.59,-4487.53 4303.29,-4465.52 4277.03,-4430.06 4285.22,-4413.41 4271.29,-4371.54 4170.54,-4068.86 4116.87,-4000.74 4049.29,-3688.97 3949.47,-3228.52 3930.29,-3106.74 3930.29,-2635.6 3930.29,-2635.6 3930.29,-2635.6 3930.29,-2531.83 3930.29,-2375.39 3892.29,-2338.33 3892.29,-2181.88 3892.29,-2181.88 3892.29,-2181.88 3892.29,-1960.8 3892.29,-1603.24 3863.96,-1473.31 4059.29,-1173.82 4300.63,-803.77 4879.51,-687.96 5086.29,-657.69"/>
<polygon fill="#e54c05" stroke="black" points="5086.71,-661.17 5096.11,-656.28 5085.72,-654.24 5086.71,-661.17"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_restore -->
<g id="edge69" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_restore</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5597.16,-4767.05C5394.17,-4764.72 4539.3,-4752.08 4431.29,-4703.51 4390.3,-4685.07 4388.52,-4666.47 4360.29,-4631.51 4340.93,-4607.53 4346.21,-4592.94 4322.29,-4573.52 4288.2,-4545.85 4267.65,-4560.58 4230.29,-4537.52 4189.58,-4512.4 4178.27,-4504.32 4150.29,-4465.52 3925.64,-4154.09 3835.29,-4044.99 3835.29,-3660.98 3835.29,-3660.98 3835.29,-3660.98 3835.29,-3565 3835.29,-3557.74 3766.94,-3320.12 3765.29,-3313.04 3721.65,-3126.85 3708.53,-3080.14 3684.29,-2890.44 3667.77,-2761.17 3674.23,-2727.84 3665.29,-2597.83 3654.76,-2444.82 3668.7,-2404.37 3640.29,-2253.65 3615.22,-2120.68 3550.29,-2098.12 3550.29,-1962.8 3550.29,-1962.8 3550.29,-1962.8 3550.29,-1741.73 3550.29,-1676.27 3541.46,-1660.09 3526.29,-1596.42 3508.4,-1521.31 3474.29,-1507.87 3474.29,-1430.67 3474.29,-1430.67 3474.29,-1430.67 3474.29,-1100.05 3474.29,-1034.59 3489.81,-1006.92 3450.29,-954.74 3225.81,-658.33 3014.56,-778.04 2647.29,-720.1 2576.17,-708.89 2373.29,-737.77 2325.29,-684.1 2303.5,-659.74 2302.61,-634.1 2325.29,-610.57 2459.39,-471.43 3934.55,-690.69 4063.29,-546.57"/>
<path fill="none" stroke="black" d="M4063.29,-544.57C4307.77,-270.69 5559.3,-231.87 5845.81,-226.55"/>
<polygon fill="#e54c05" stroke="black" points="5845.71,-230.06 5855.64,-226.38 5845.58,-223.06 5845.71,-230.06"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_search -->
<g id="edge70" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5597.16,-4766.81C5243.74,-4761.14 2833.46,-4721.91 2682.29,-4703.51 2537.15,-4685.84 2503.25,-4666.5 2361.29,-4631.51 1975.66,-4536.43 1863.81,-4544.54 1506.29,-4371.54 1418.89,-4329.25 1397.14,-4317.22 1317.29,-4262 1283.78,-4238.83 1283.36,-4220.91 1246.29,-4204.02 1207.56,-4186.37 527.75,-4095.98 491.29,-4074.04 376.04,-4004.67 176.5,-3717.65 121.29,-3594.99 91.07,-3527.85 20.23,-3331.92 59.29,-3269.5"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge71" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5597.15,-4766.8C5399.84,-4763.4 4588.51,-4746.84 4484.29,-4703.51 4440.12,-4685.14 4436.67,-4666.72 4404.29,-4631.51 4382.39,-4607.69 4384.26,-4595.24 4360.29,-4573.52 4326.28,-4542.72 4213.23,-4501.13 4184.29,-4465.52 4053.99,-4305.18 3854.29,-2842.2 3854.29,-2635.6 3854.29,-2635.6 3854.29,-2635.6 3854.29,-2422.3 3854.29,-2215.3 3778.29,-2169.8 3778.29,-1962.8 3778.29,-1962.8 3778.29,-1962.8 3778.29,-1632.19 3778.29,-1492.91 3740.29,-1460.4 3740.29,-1321.13 3740.29,-1321.13 3740.29,-1321.13 3740.29,-1209.59 3740.29,-987.55 3807.76,-865.9 3640.29,-720.1 3560.85,-650.95 2823.09,-647.27 2583.82,-647.92"/>
<polygon fill="#e54c05" stroke="black" points="2583.97,-644.42 2573.98,-647.95 2583.99,-651.42 2583.97,-644.42"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge72" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5298.29,-4601.51C5213.39,-4244.07 5640.29,-4216.34 5640.29,-3848.95 5640.29,-3848.95 5640.29,-3848.95 5640.29,-3658.98 5640.29,-3070.61 5785.11,-2934.86 5977.29,-2378.75 6020.03,-2255.06 6059.47,-2234.53 6093.29,-2108.11 6167.51,-1830.69 6152.37,-1753.12 6169.29,-1466.43 6181.7,-1256.11 6146.83,-1202.89 6158.29,-992.51"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge73" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4367.29,-4518.52C4242.46,-4333.51 4287.58,-4251.15 4221.29,-4038.04 4169.06,-3870.11 4101.29,-3836.84 4101.29,-3660.98 4101.29,-3660.98 4101.29,-3660.98 4101.29,-3565 4101.29,-3133.68 3990.57,-3028.05 4021.29,-2597.83 4040.45,-2329.45 4072.92,-2265.43 4107.29,-1998.57 4119.81,-1901.38 4123.94,-1877.14 4132.29,-1779.5 4155.42,-1508.72 4039.32,-1380.07 4216.29,-1173.82 4592.99,-734.8 5369.78,-662.37 5588.08,-650.59"/>
<polygon fill="#e54c05" stroke="black" points="5587.94,-654.1 5597.75,-650.09 5587.58,-647.11 5587.94,-654.1"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_sign -->
<g id="edge74" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5673.33,-4756.75C5707.88,-4745.11 5763.35,-4725.26 5809.29,-4703.51 6075.75,-4577.32 6102.13,-4479.73 6334.29,-4298 6389.86,-4254.5 6403.24,-4242.67 6462.29,-4204.02 6686.96,-4056.94 6788.2,-4074.3 6970.29,-3876.94 7038.15,-3803.38 7043.62,-3775.28 7094.29,-3688.97 7235.99,-3447.6 7214.46,-3352.45 7384.29,-3129.97 7398.6,-3111.21 7406.05,-3110.06 7423.29,-3093.97 7475.12,-3045.57 7493.25,-3038.36 7539.29,-2984.43 7610.41,-2901.12 7626.91,-2877.65 7678.29,-2780.9 7783.33,-2583.1 7826.29,-2523.17 7826.29,-2299.2 7826.29,-2299.2 7826.29,-2299.2 7826.29,-2179.88 7826.29,-1942.97 7891.37,-1155.83 7596.29,-757.87"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_status -->
<g id="edge75" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5597.34,-4766.95C5385.01,-4764.05 4452.87,-4748.81 4332.29,-4703.51 4298.45,-4690.79 4108.98,-4518.9 4077.29,-4501.52 4034.4,-4478 4006.92,-4501.03 3973.29,-4465.52 3920.03,-4409.29 3973.7,-4358.45 3925.29,-4298 3904.4,-4271.92 3883.99,-4284.5 3859.29,-4262 3778.1,-4188.05 3721.29,-4166.85 3721.29,-4057.04 3721.29,-4057.04 3721.29,-4057.04 3721.29,-3846.95 3721.29,-3686.53 3663.86,-3654.82 3618.29,-3501.01 3564.71,-3320.17 3525.23,-3280.64 3498.29,-3093.97 3469.44,-2894.08 3606.1,-2864.45 3665.29,-2671.36 3697.83,-2565.21 3702.29,-2535.33 3702.29,-2424.3 3702.29,-2424.3 3702.29,-2424.3 3702.29,-1960.8 3702.29,-1732.23 3576.09,-1165.77 3488.29,-954.74 3472.06,-915.74 3448.76,-915.55 3436.29,-875.19"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge76" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5682.81,-4764.71C5775.85,-4758.76 6004.51,-4744.91 6196.29,-4739.51 6526.72,-4730.19 11818.31,-4744.75 12146.29,-4703.51 12381.12,-4673.97 12937.38,-4456.5 13158.29,-4371.54 13819.72,-4117.16 14114.96,-4206.3 14599.29,-3688.97 14649.98,-3634.83 14627.87,-3599.21 14668.29,-3537.01 14781.34,-3363.02 14841.32,-3343.8 14978.29,-3187.95 15136.56,-3007.86 15197.35,-2979.08 15332.29,-2780.9 15397.33,-2685.39 15413.29,-2649.39 15413.29,-2533.83 15413.29,-2533.83 15413.29,-2533.83 15413.29,-2297.2 15413.29,-1796.38 15111.29,-1712.4 15111.29,-1211.59 15111.29,-1211.59 15111.29,-1211.59 15111.29,-1100.05 15111.29,-998.69 15098.13,-973.45 15073.29,-875.19"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge77" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5596.98,-4767.69C5398.39,-4768.2 4555.14,-4766.38 3867.29,-4703.51 3615.19,-4680.46 2978.86,-4622.17 2740.29,-4537.52 2633.62,-4499.68 2619.29,-4464.17 2521.29,-4407.54 2493.03,-4391.21 2484.04,-4390.23 2457.29,-4371.54 2416.06,-4342.73 2416.14,-4320.76 2371.29,-4298 2361.15,-4292.85 1585.53,-4111.75 1574.29,-4110.04 1352.73,-4076.2 1292.86,-4107.81 1071.29,-4074.04 1002.23,-4063.51 986.68,-4052.26 918.29,-4038.04 830.29,-4019.74 789.03,-4058.73 719.29,-4002.04 627.37,-3927.31 619.29,-3873.43 619.29,-3754.97 619.29,-3754.97 619.29,-3754.97 619.29,-3565 619.29,-3245.26 505.29,-3174.41 505.29,-2854.67 505.29,-2854.67 505.29,-2854.67 505.29,-2633.6 505.29,-2440.01 613.07,-2416.15 718.29,-2253.65 893.84,-1982.52 987.42,-1948.31 1151.29,-1669.96 1192.77,-1599.5 1183.29,-1571.34 1227.29,-1502.43 1439.59,-1169.93 1525.88,-1107.14 1806.29,-829.64 1859.99,-776.5 1873.09,-761.5 1936.29,-720.1 1965.9,-700.71 2001.5,-683.02 2030.01,-670.05"/>
<polygon fill="#e54c05" stroke="black" points="2031.1,-673.4 2038.79,-666.11 2028.23,-667.01 2031.1,-673.4"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge78" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5682.81,-4764.76C5775.86,-4758.89 6004.52,-4745.2 6196.29,-4739.51 6324.96,-4735.68 10713.31,-4740.24 10830.29,-4686.51"/>
<path fill="none" stroke="black" d="M10830.29,-4684.51C10879.24,-4662.02 10761.59,-4667.24 10721.29,-4631.51 10645.26,-4564.1 10634.46,-4533.22 10600.29,-4437.53"/>
<path fill="none" stroke="black" d="M10600.29,-4435.53C10527.61,-4275.58 10486.29,-4232.72 10486.29,-4057.04 10486.29,-4057.04 10486.29,-4057.04 10486.29,-3565 10486.29,-3312.1 10283.29,-3270.45 10321.29,-3020.43 10321.81,-3017.02 10616.29,-2075.79 10616.29,-2072.34 10616.29,-2072.34 10616.29,-2072.34 10616.29,-1741.73 10616.29,-1361.39 8818.54,-1793.28 8933.29,-1430.67"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge79" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5597.32,-4766.71C5246.59,-4760.26 2865.47,-4716.06 2793.29,-4703.51 2706.91,-4688.48 1380.77,-4227.45 1296.29,-4204.02 1111.13,-4152.66 1062.9,-4146.73 874.29,-4110.04 778.75,-4091.45 749.62,-4107.66 658.29,-4074.04 599.92,-4052.55 581.16,-4047.1 538.29,-4002.04 462.21,-3922.06 466.18,-3883.8 421.29,-3782.96 403.22,-3742.38 397.27,-3732.26 387.29,-3688.97 377.85,-3648.04 381.26,-3636.81 377.29,-3594.99 346.04,-3266.29 315.29,-3184.86 315.29,-2854.67 315.29,-2854.67 315.29,-2854.67 315.29,-2297.2 315.29,-1910.59 391.29,-1817.27 391.29,-1430.67 391.29,-1430.67 391.29,-1430.67 391.29,-1100.05 391.29,-849.69 1251.79,-851.12 1438.29,-684.1 1451.7,-672.1 1440.33,-654.39 1457.29,-648.34"/>
<path fill="none" stroke="black" d="M1457.29,-646.34C1510.1,-614.75 1896.74,-508.52 2060.42,-464.34"/>
<polygon fill="#e54c05" stroke="black" points="2061.13,-467.78 2069.88,-461.79 2059.31,-461.02 2061.13,-467.78"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_update -->
<g id="edge80" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4993.29,-4435.53C5028.01,-4304.44 5069.29,-4275.64 5069.29,-4140.03 5069.29,-4140.03 5069.29,-4140.03 5069.29,-3565 5069.29,-3298.04 5157.53,-3243.16 5223.29,-2984.43 5350.73,-2482.99 5498.29,-2370.65 5498.29,-1853.27 5498.29,-1853.27 5498.29,-1853.27 5498.29,-1632.19 5498.29,-1548.36 5560.93,-1545.67 5588.29,-1466.43 5631.78,-1340.48 5631.17,-995.58 5688.29,-875.19"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_users -->
<g id="edge81" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12035.29,-4684.51C12044.79,-4682.14 12041.18,-4672.98 12049.29,-4667.51 12093.32,-4637.77 12113.58,-4650.26 12163.29,-4631.51 12737.37,-4414.91 12880.98,-4355.31 13426.29,-4074.04 13481.9,-4045.35 13493.9,-4034.68 13547.29,-4002.04 13971.35,-3742.7 14098.47,-3707.71 14494.29,-3407.03 14658.9,-3281.98 14690.58,-3238.59 14838.29,-3093.97 15000.16,-2935.48 15067.89,-2891.03 15123.29,-2671.36 15156.28,-2540.52 15108.4,-2496.39 15042.29,-2378.75 15020.19,-2339.43 15006.39,-2335.25 14979.29,-2299.2"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge82" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5596.95,-4767.29C5360.57,-4765.93 4232.33,-4756.71 4087.29,-4703.51 4002.52,-4672.41 3517.95,-4258.94 3446.29,-4204.02 3055.35,-3904.41 2972.37,-3808.31 2561.29,-3537.01 2453.09,-3465.6 1549.29,-3086.07 1549.29,-2956.43 1549.29,-2956.43 1549.29,-2956.43 1549.29,-2852.67 1549.29,-2470.36 1635.12,-2336.72 1911.29,-2072.34"/>
<path fill="none" stroke="black" d="M1911.29,-2070.34C1961.63,-2021.09 2038.6,-1991.8 2090.61,-1976.52"/>
<polygon fill="#e54c05" stroke="black" points="2091.52,-1979.9 2100.18,-1973.79 2089.6,-1973.16 2091.52,-1979.9"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge83" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5682.81,-4764.71C5775.85,-4758.77 6004.51,-4744.92 6196.29,-4739.51 6521.33,-4730.33 11728.75,-4758.18 12049.29,-4703.51 12126.95,-4690.26 12266.06,-4692.33 13567.29,-4168.02 13732.96,-4101.26 13779.89,-4093.52 13933.29,-4002.04 14130.8,-3884.24 14166.02,-3833.03 14345.29,-3688.97 14544.47,-3528.91 14592.27,-3486.08 14780.29,-3313.04 14885.59,-3216.13 14938.27,-3213.95 15016.29,-3093.97 15214.21,-2789.58 15230.06,-2661.43 15205.29,-2299.2"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_web -->
<g id="edge84" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5682.81,-4764.72C5775.86,-4758.78 6004.51,-4744.95 6196.29,-4739.51 6351.42,-4735.1 11636.34,-4753.43 11783.29,-4703.51 11911.94,-4659.8 12600.84,-3984.59 12716.29,-3912.94 12806.98,-3856.66 12838.41,-3859.15 12937.29,-3818.96 13085.23,-3758.81 13133.66,-3768.27 13272.29,-3688.97 13620,-3490.08 13659.55,-3371.28 13979.29,-3129.97 14001.14,-3113.47 14007.36,-3110.37 14029.29,-3093.97 14090.58,-3048.12 14527.56,-2732.74 14573.29,-2671.36 14653.77,-2563.34 14656.05,-2513.4 14652.29,-2378.75 14650.29,-2307.07 14645.29,-2289.33 14643.29,-2217.65 14642.38,-2184.98 14642.6,-2176.79 14643.29,-2144.11 14650.62,-1794.01 14668.95,-1707 14676.29,-1356.9 14679.01,-1226.76 14678.45,-1193.67 14664.29,-1064.28 14640.87,-850.37 14687.91,-706.48 14495.29,-610.57 14007.2,-367.54 12453.97,-807.99 12047.29,-444.81"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_lock -->
<g id="edge85" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5682.81,-4764.72C5775.86,-4758.78 6004.51,-4744.94 6196.29,-4739.51 6353.53,-4735.05 11708.32,-4747.71 11859.29,-4703.51 11916.8,-4686.67 11924.59,-4666.43 11973.29,-4631.51 12185.26,-4479.48 12243.87,-4445.48 12429.29,-4262 12453.07,-4238.47 12452.24,-4226.19 12477.29,-4204.02 12714.83,-3993.75 12783.86,-3937.07 13078.29,-3818.96 13155.62,-3787.93 13183.34,-3809.62 13262.29,-3782.96 13351.73,-3752.74 13568.9,-3653.13 13643.29,-3594.99 13685.84,-3561.73 13912.56,-3254.23 13957.29,-3223.95 13999.19,-3195.58 14018.88,-3208.1 14065.29,-3187.95 14145.55,-3153.09 14168.13,-3146.25 14238.29,-3093.97 14346.33,-3013.44 14627.03,-2770.1 14635.29,-2635.6"/>
<path fill="none" stroke="black" d="M14635.29,-2633.6C14639.77,-2589.48 14653.62,-2574.2 14635.29,-2533.83"/>
<path fill="none" stroke="black" d="M14635.29,-2531.83C14625.12,-2509.46 14615.67,-2483.58 14608.62,-2462.82"/>
<polygon fill="#e54c05" stroke="black" points="14612.03,-2461.98 14605.54,-2453.61 14605.39,-2464.2 14612.03,-2461.98"/>
</g>
<!-- ahriman_models_aur_package -->
<g id="node128" class="node">
<title>ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d14505" stroke="black" cx="2958.29" cy="-4233.01" rx="50.82" ry="28.98"/>
<text text-anchor="middle" x="2958.29" y="-4241.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2958.29" y="-4230.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="2958.29" y="-4219.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aur_package</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_aur_package -->
<g id="edge86" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5597.21,-4766.85C5351.76,-4763.06 4135.21,-4742.41 3973.29,-4703.51 3767.58,-4654.08 3176.5,-4348.54 3005.29,-4258.78"/>
<polygon fill="#e54c05" stroke="black" points="3006.91,-4255.68 2996.43,-4254.14 3003.66,-4261.88 3006.91,-4255.68"/>
</g>
<!-- ahriman_models_build_status -->
<g id="node130" class="node">
<title>ahriman_models_build_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e54c05" stroke="black" cx="11375.29" cy="-3566" rx="48.58" ry="28.98"/>
<text text-anchor="middle" x="11375.29" y="-3574.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11375.29" y="-3563.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="11375.29" y="-3552.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_status</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_build_status -->
<g id="edge87" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_build_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10866.29,-4435.53C10866.29,-4371.07 11084.92,-3968.09 11118.29,-3912.94 11191.42,-3792.08 11296.47,-3661.32 11346.58,-3601.01"/>
<polygon fill="#e54c05" stroke="black" points="11349.17,-3603.37 11352.88,-3593.45 11343.79,-3598.89 11349.17,-3603.37"/>
</g>
<!-- ahriman_models_counters -->
<g id="node132" class="node">
<title>ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a34f28" stroke="black" cx="11448.29" cy="-3472.02" rx="38.78" ry="28.98"/>
<text text-anchor="middle" x="11448.29" y="-3480.52" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11448.29" y="-3469.52" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="11448.29" y="-3458.52" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">counters</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_counters -->
<g id="edge88" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10938.29,-4601.51C10961.85,-4514.13 10939.91,-4474.97 11000.29,-4407.54 11126.57,-4266.51 11322.43,-4411.12 11389.29,-4234.01"/>
<path fill="none" stroke="black" d="M11389.29,-4232.01C11401.91,-4197.61 11349.55,-4202.55 11337.29,-4168.02 11328.66,-4143.73 11334.6,-4135.67 11337.29,-4110.04 11362.98,-3864.68 11382.54,-3803.64 11452.29,-3567"/>
</g>
<!-- ahriman_models_migration -->
<g id="node135" class="node">
<title>ahriman_models_migration</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b0603a" stroke="black" cx="10370.29" cy="-3057.2" rx="39.7" ry="28.98"/>
<text text-anchor="middle" x="10370.29" y="-3065.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10370.29" y="-3054.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="10370.29" y="-3043.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">migration</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_migration -->
<g id="edge89" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_migration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10600.29,-4435.53C10571.81,-4350.61 10600.29,-4323.57 10600.29,-4234.01 10600.29,-4234.01 10600.29,-4234.01 10600.29,-3752.97 10600.29,-3604.63 10643.83,-3382.19 10476.29,-3129.97 10461.21,-3107.27 10436.27,-3089.85 10414.37,-3077.87"/>
<polygon fill="#e54c05" stroke="black" points="10416.07,-3074.8 10405.58,-3073.28 10412.83,-3081.01 10416.07,-3074.8"/>
</g>
<!-- ahriman_models_migration_result -->
<g id="node136" class="node">
<title>ahriman_models_migration_result</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b0603a" stroke="black" cx="10849.29" cy="-4602.51" rx="60.62" ry="28.98"/>
<text text-anchor="middle" x="10849.29" y="-4611.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10849.29" y="-4600.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="10849.29" y="-4589.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">migration_result</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_migration_result -->
<g id="edge90" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_migration_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10830.29,-4684.51C10845.52,-4677.47 10850.84,-4660.14 10852.11,-4643.3"/>
<polygon fill="#e54c05" stroke="black" points="10855.61,-4643.46 10852.37,-4633.38 10848.61,-4643.28 10855.61,-4643.46"/>
</g>
<!-- ahriman_models_package -->
<g id="node137" class="node">
<title>ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#953103" stroke="black" cx="6224.29" cy="-3566" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="6224.29" y="-3574.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6224.29" y="-3563.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6224.29" y="-3552.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_package -->
<g id="edge91" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5754.29,-4601.51C5802.28,-4562.03 5840.1,-4575.91 5868.29,-4520.52"/>
<path fill="none" stroke="black" d="M5868.29,-4518.52C5886.32,-4483.09 5835.14,-4476.99 5830.29,-4437.53"/>
<path fill="none" stroke="black" d="M5830.29,-4435.53C5822.1,-4368.98 5857.14,-4355.1 5892.29,-4298 6012.12,-4103.33 6068.14,-4071 6233.29,-3912.94 6250.81,-3896.17 6264.29,-3899.03 6274.29,-3876.94 6284.92,-3853.46 6280.95,-3843.85 6274.29,-3818.96 6263.82,-3779.82 6167.21,-3698.17 6183.29,-3660.98"/>
</g>
<!-- ahriman_models_package_description -->
<g id="node138" class="node">
<title>ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ae4b1e" stroke="black" cx="6980.29" cy="-4139.03" rx="74.91" ry="28.98"/>
<text text-anchor="middle" x="6980.29" y="-4147.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6980.29" y="-4136.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6980.29" y="-4125.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_description</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_package_description -->
<g id="edge92" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6134.29,-4684.51C6178.75,-4677.05 6189.57,-4673.2 6234.29,-4667.51 6281.08,-4661.55 6622.55,-4663.42 6657.29,-4631.51 6694.14,-4597.65 6676.29,-4570.57 6676.29,-4520.52 6676.29,-4520.52 6676.29,-4520.52 6676.29,-4435.53 6676.29,-4301.01 6831.23,-4207.95 6919.88,-4165.71"/>
<polygon fill="#e54c05" stroke="black" points="6921.14,-4168.99 6928.72,-4161.58 6918.18,-4162.65 6921.14,-4168.99"/>
</g>
<!-- ahriman_models_package_source -->
<g id="node139" class="node">
<title>ahriman_models_package_source</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e54c05" stroke="black" cx="6093.29" cy="-3753.97" rx="62.45" ry="28.98"/>
<text text-anchor="middle" x="6093.29" y="-3762.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6093.29" y="-3751.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6093.29" y="-3740.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_source</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_package_source -->
<g id="edge93" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_package_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5602.29,-4684.51C5614.18,-4608.89 5697.47,-4654.81 5754.29,-4603.51"/>
<path fill="none" stroke="black" d="M5754.29,-4601.51C5804.51,-4556.18 5759.22,-4362.92 5778.29,-4298 5846.37,-4066.18 5896.01,-4016.39 6035.29,-3818.96 6042.57,-3808.64 6051.33,-3798.18 6059.82,-3788.8"/>
<polygon fill="#e54c05" stroke="black" points="6062.24,-3791.34 6066.46,-3781.63 6057.1,-3786.59 6062.24,-3791.34"/>
</g>
<!-- ahriman_models_remote_source -->
<g id="node142" class="node">
<title>ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b84109" stroke="black" cx="5725.29" cy="-3659.98" rx="57.05" ry="28.98"/>
<text text-anchor="middle" x="5725.29" y="-3668.48" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5725.29" y="-3657.48" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="5725.29" y="-3646.48" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_source</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_remote_source -->
<g id="edge94" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5625.93,-4751.34C5613.65,-4735.6 5598.5,-4710.59 5602.29,-4686.51"/>
<path fill="none" stroke="black" d="M5602.29,-4684.51C5662.35,-4302.7 5708.61,-3836.7 5721.61,-3700.25"/>
<polygon fill="#e54c05" stroke="black" points="5725.06,-3700.97 5722.52,-3690.68 5718.09,-3700.3 5725.06,-3700.97"/>
</g>
<!-- ahriman_models_repository_paths -->
<g id="node144" class="node">
<title>ahriman_models_repository_paths</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e54c05" stroke="black" cx="6585.29" cy="-4602.51" rx="62.87" ry="28.98"/>
<text text-anchor="middle" x="6585.29" y="-4611.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6585.29" y="-4600.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6585.29" y="-4589.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository_paths</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_repository_paths -->
<g id="edge95" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_repository_paths</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5681.68,-4763.05C5758.96,-4754.37 5930.21,-4733.39 6072.29,-4703.51 6100.25,-4697.62 6106.11,-4691.23 6134.29,-4686.51"/>
<path fill="none" stroke="black" d="M6134.29,-4684.51C6269.77,-4661.8 6427.68,-4632.88 6516.12,-4616.45"/>
<polygon fill="#e54c05" stroke="black" points="6516.66,-4619.91 6525.85,-4614.64 6515.38,-4613.03 6516.66,-4619.91"/>
</g>
<!-- ahriman_models_result -->
<g id="node145" class="node">
<title>ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d14505" stroke="black" cx="7332.29" cy="-2744.13" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="7332.29" y="-2752.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7332.29" y="-2741.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="7332.29" y="-2730.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">result</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_result -->
<g id="edge96" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5830.29,-4435.53C5831.62,-4399.46 5856.45,-4398.64 5880.29,-4371.54 5977.3,-4261.28 5967.43,-4201.55 6082.29,-4110.04 6112.15,-4086.24 6130.73,-4098.21 6160.29,-4074.04 6228.99,-4017.85 6204.55,-3962.33 6278.29,-3912.94 6333.81,-3875.75 6367.68,-3912.47 6424.29,-3876.94 6452.62,-3859.15 6447.86,-3841.82 6472.29,-3818.96 6544.33,-3751.52 6598.92,-3771.98 6652.29,-3688.97 6728.26,-3570.81 6714.29,-3519.51 6714.29,-3379.03 6714.29,-3379.03 6714.29,-3379.03 6714.29,-3267.5 6714.29,-3039.64 6846.83,-3004.74 7018.29,-2854.67"/>
<path fill="none" stroke="black" d="M7018.29,-2852.67C7115.78,-2781.45 7170.8,-2831.78 7280.29,-2780.9 7285.82,-2778.34 7291.4,-2775.19 7296.75,-2771.85"/>
<polygon fill="#e54c05" stroke="black" points="7298.39,-2774.96 7304.8,-2766.53 7294.53,-2769.12 7298.39,-2774.96"/>
</g>
<!-- ahriman_web_middlewares_auth_handler -->
<g id="node154" class="node">
<title>ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="14377.29" cy="-874.19" rx="52.15" ry="36.54"/>
<text text-anchor="middle" x="14377.29" y="-888.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14377.29" y="-877.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14377.29" y="-866.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares.</text>
<text text-anchor="middle" x="14377.29" y="-855.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth_handler</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge97" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11769.29,-4684.51C11774.37,-4681.72 11865.92,-4506.24 11869.29,-4501.52 12006.37,-4309.69 12058.76,-4274.92 12227.29,-4110.04 12413.04,-3928.3 12431.74,-3834.74 12667.29,-3724.97 12762.26,-3680.71 12799.81,-3718.72 12900.29,-3688.97 12960.56,-3671.13 12969.82,-3651.35 13029.29,-3630.99 13093.74,-3608.93 13117.56,-3625.88 13178.29,-3594.99 13405.39,-3479.49 13407.71,-3371.69 13615.29,-3223.95 13640.94,-3205.69 13652.52,-3208.59 13676.29,-3187.95 13782.89,-3095.35 13977.46,-2794.66 14046.29,-2671.36 14230.4,-2341.56 14296.98,-2257.9 14378.29,-1889.03 14422.36,-1689.09 14404.84,-1634.48 14424.29,-1430.67"/>
</g>
<!-- ahriman_web_views_base -->
<g id="node158" class="node">
<title>ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#953103" stroke="black" cx="12754.29" cy="-991.51" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="12754.29" y="-1005.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12754.29" y="-994.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12754.29" y="-983.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="12754.29" y="-972.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">base</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_base -->
<g id="edge98" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5682.81,-4764.74C5775.86,-4758.83 6004.52,-4745.07 6196.29,-4739.51 6272.08,-4737.31 11602.04,-4740.49 11655.29,-4686.51"/>
<path fill="none" stroke="black" d="M11655.29,-4684.51C11701.37,-4637.79 11644.4,-4603.07 11641.29,-4537.52 11634.07,-4385.67 11640.92,-4335.47 11717.29,-4204.02 11826.81,-4015.48 11863.84,-3969.8 12021.29,-3818.96 12092.54,-3750.69 12127.72,-3754.74 12201.29,-3688.97 12327.47,-3576.16 12358.49,-3544.46 12457.29,-3407.03 12530.7,-3304.9 12595.29,-3285.73 12595.29,-3159.96 12595.29,-3159.96 12595.29,-3159.96 12595.29,-3056.2 12595.29,-2809.69 12782.29,-2209.31 12782.29,-1962.8 12782.29,-1962.8 12782.29,-1962.8 12782.29,-1530.43 12782.29,-1388.72 12794.44,-1352.77 12782.29,-1211.59"/>
<path fill="none" stroke="black" d="M12782.29,-1209.59C12773.87,-1162.54 12784.16,-1149.81 12782.29,-1102.05"/>
</g>
<!-- ahriman_web_views_index -->
<g id="node159" class="node">
<title>ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a4228" stroke="black" cx="12939.29" cy="-874.19" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="12939.29" y="-888.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12939.29" y="-877.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12939.29" y="-866.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="12939.29" y="-855.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">index</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_index -->
<g id="edge99" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11655.29,-4684.51C11674.81,-4669.09 11666.88,-4655.54 11673.29,-4631.51 11712.63,-4484.02 11692.81,-4437.27 11755.29,-4298 11844.53,-4099.06 11888,-4047.86 12059.29,-3912.94 12184.08,-3814.65 12215.52,-3783.27 12363.29,-3724.97 12561.04,-3646.96 12623.31,-3670.01 12832.29,-3630.99 12924.51,-3613.77 12968.6,-3655.51 13040.29,-3594.99 13242.71,-3424.12 13382.28,-2728.72 13428.29,-2467.84 13453.57,-2324.5 13452.84,-1934.69 13369.29,-1815.5 13349.88,-1787.82 13324.84,-1804.68 13302.29,-1779.5 13143.66,-1602.41 13263.98,-1457.65 13102.29,-1283.36 13077.68,-1256.84 13048.39,-1278.08 13029.29,-1247.36 13012.03,-1219.6 13018.52,-1204.68 13029.29,-1173.82 13042.7,-1135.36 13078.71,-1142.07 13086.29,-1102.05"/>
<path fill="none" stroke="black" d="M13086.29,-1100.05C13093.05,-1058.38 13016.74,-963.2 12971.47,-911.03"/>
<polygon fill="#e54c05" stroke="black" points="12974.16,-908.79 12964.94,-903.57 12968.89,-913.4 12974.16,-908.79"/>
</g>
<!-- ahriman_web_views_service_search -->
<g id="node166" class="node">
<title>ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="12047.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="12047.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12047.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12047.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="12047.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="12047.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">search</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_service_search -->
<g id="edge100" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11389.29,-4232.01C11539.28,-3878.76 11553.76,-3779.97 11644.29,-3407.03 11688.81,-3223.61 11677.97,-3172.99 11686.29,-2984.43 11689.57,-2910.04 11692.58,-2891.24 11688.29,-2816.9 11658.68,-2304.59 11584.89,-2182.27 11555.29,-1669.96 11553.4,-1637.33 11552.51,-1628.98 11555.29,-1596.42 11557.74,-1567.66 11561.16,-1560.82 11566.29,-1532.43"/>
<path fill="none" stroke="black" d="M11566.29,-1530.43C11571.89,-1340.12 11452.26,-1254.51 11566.29,-1102.05"/>
</g>
<!-- ahriman_web_views_status_logs -->
<g id="node169" class="node">
<title>ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="14102.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="14102.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14102.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14102.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="14102.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="14102.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logs</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge101" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11769.29,-4518.52C11773.88,-4446.13 12159.78,-4089.12 12211.29,-4038.04 12213.57,-4035.77 12550.39,-3726.37 12553.29,-3724.97 12646.12,-3680.29 12681.61,-3710.84 12782.29,-3688.97 12876.07,-3668.6 12897.57,-3655.75 12990.29,-3630.99 13052.78,-3614.31 13075.81,-3628.24 13131.29,-3594.99 13186.21,-3562.08 13619.13,-3145.58 13960.29,-2561.83 14046.13,-2414.94 14250.29,-2023.4 14250.29,-1853.27 14250.29,-1853.27 14250.29,-1853.27 14250.29,-1530.43 14250.29,-1323.25 14299.45,-1265.29 14249.29,-1064.28 14240.55,-1029.26 14224.6,-1026.06 14211.29,-992.51"/>
</g>
<!-- ahriman_web_views_status_package -->
<g id="node170" class="node">
<title>ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="12845.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="12845.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12845.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12845.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="12845.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="12845.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_status_package -->
<g id="edge102" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10830.29,-4684.51C10842.14,-4678.99 10842.31,-4672.75 10854.29,-4667.51 10925.04,-4636.54 10951.94,-4658.52 11024.29,-4631.51 11247.55,-4548.13 11306.72,-4519.84 11493.29,-4371.54 11557.71,-4320.33 11617.29,-4316.31 11617.29,-4234.01 11617.29,-4234.01 11617.29,-4234.01 11617.29,-4138.03 11617.29,-3765.14 11955.84,-3810.86 12163.29,-3501.01 12363.13,-3202.52 12442.38,-3129.2 12530.29,-2780.9 12531.17,-2777.41 12554.29,-1747.33 12554.29,-1743.73 12554.29,-1743.73 12554.29,-1743.73 12554.29,-1632.19 12554.29,-1542.62 12536.01,-1518.34 12554.29,-1430.67"/>
</g>
<!-- ahriman_web_views_user_login -->
<g id="node174" class="node">
<title>ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="13522.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="13522.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13522.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13522.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="13522.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user.</text>
<text text-anchor="middle" x="13522.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">login</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_user_login -->
<g id="edge103" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5682.81,-4764.72C5775.86,-4758.79 6004.51,-4744.96 6196.29,-4739.51 6804.17,-4722.21 11063.49,-4756.64 11669.29,-4703.51 11714.2,-4699.57 11731.52,-4711.12 11769.29,-4686.51"/>
<path fill="none" stroke="black" d="M11769.29,-4684.51C11830.35,-4644.72 11753.76,-4591.73 11769.29,-4520.52"/>
<path fill="none" stroke="black" d="M11769.29,-4518.52C11760.92,-4402.15 11880.1,-4143.24 11907.29,-4110.04 12008.6,-3986.29 12368.03,-3787.37 12515.29,-3724.97 12578.02,-3698.39 12598.34,-3706.08 12664.29,-3688.97 12757.6,-3664.77 12779.24,-3652.16 12873.29,-3630.99 12964.39,-3610.48 13000.1,-3642.84 13080.29,-3594.99 13217.25,-3513.27 13204.88,-3439.34 13302.29,-3313.04 13518.51,-3032.71 13613.52,-2986.79 13774.29,-2671.36 13845.54,-2531.57 13867.91,-2495.61 13903.29,-2342.75 13926.88,-2240.82 13918.06,-2212.65 13922.29,-2108.11 13927.54,-1978.17 13928.93,-1945.38 13922.29,-1815.5 13905.15,-1480.31 13940.96,-1385.98 13845.29,-1064.28 13844.65,-1062.13 13810.04,-993.91 13808.29,-992.51"/>
</g>
<!-- ahriman_web_views_user_logout -->
<g id="node175" class="node">
<title>ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="12751.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="12751.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12751.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12751.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="12751.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user.</text>
<text text-anchor="middle" x="12751.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logout</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge104" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10830.29,-4684.51C10842.15,-4679.02 10842.72,-4673.59 10854.29,-4667.51 10895.36,-4645.91 10910.26,-4651.16 10952.29,-4631.51 11161.86,-4533.49 11211.44,-4500.86 11403.29,-4371.54 11485.6,-4316.05 11579.29,-4333.28 11579.29,-4234.01 11579.29,-4234.01 11579.29,-4234.01 11579.29,-4138.03 11579.29,-4034.26 11596.48,-4006.53 11641.29,-3912.94 11873.92,-3427.02 12113.64,-3398.69 12292.29,-2890.44 12336.22,-2765.44 12375.5,-2727.7 12349.29,-2597.83 12309.61,-2401.23 12174.29,-2382.44 12174.29,-2181.88 12174.29,-2181.88 12174.29,-2181.88 12174.29,-2070.34 12174.29,-1842.91 12207.72,-1787.65 12217.29,-1560.42 12218.37,-1534.67 12217.64,-1528.2 12217.29,-1502.43 12216.18,-1421.83 12212.29,-1401.74 12212.29,-1321.13 12212.29,-1321.13 12212.29,-1321.13 12212.29,-1209.59 12212.29,-1139.37 12223.23,-1112.48 12274.29,-1064.28 12378.71,-965.69 12441.61,-998.83 12578.29,-954.74 12633.72,-936.86 12653.54,-947.31 12704.29,-918.74 12707.69,-916.83 12711.04,-914.62 12714.29,-912.24"/>
<polygon fill="#e54c05" stroke="black" points="12716.34,-915.08 12721.96,-906.1 12711.96,-909.61 12716.34,-915.08"/>
</g>
<!-- ahriman_web_web -->
<g id="node176" class="node">
<title>ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="12113.29" cy="-545.57" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="12113.29" y="-554.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12113.29" y="-543.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12113.29" y="-532.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_web -->
<g id="edge105" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11769.29,-4684.51C11873.75,-4628.62 12416.26,-3991.11 12505.29,-3912.94 12772.74,-3678.1 12927.23,-3764.32 13240.29,-3594.99 13302.05,-3561.58 13312.84,-3545.35 13367.29,-3501.01 13529.12,-3369.22 13574.95,-3340.58 13717.29,-3187.95 13739.54,-3164.09 13739.79,-3153.59 13762.29,-3129.97 13779.24,-3112.16 13786.43,-3110.87 13804.29,-3093.97 13977.01,-2930.46 13961.64,-2813.88 14174.29,-2707.36 14233.34,-2677.79 14422.11,-2717.58 14469.29,-2671.36 14523.42,-2618.34 14650.72,-1396.01 14662.29,-1321.13"/>
</g>
<!-- ahriman_core_alpm -->
<g id="node38" class="node">
<title>ahriman_core_alpm</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f95a10" stroke="black" cx="7294.29" cy="-3847.95" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="7294.29" y="-3856.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="7294.29" y="-3845.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="7294.29" y="-3834.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">alpm</text>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_application_handlers_search -->
<g id="edge106" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7255.85,-3845.8C7121.05,-3841.79 6657.26,-3828.15 6274.29,-3818.96 5885.43,-3809.62 4910.31,-3830.77 4524.29,-3782.96 4481.89,-3777.71 1565.17,-3111.67 1526.29,-3093.97 1386.27,-3030.22 1339.76,-3012.63 1246.29,-2890.44 1225.04,-2862.67 1234.6,-2847.84 1218.29,-2816.9 1209.2,-2799.67 1202.79,-2797.91 1193.29,-2780.9 1108.88,-2629.9 1037.29,-2597.29 1037.29,-2424.3 1037.29,-2424.3 1037.29,-2424.3 1037.29,-2297.2 1037.29,-2050.17 1088.29,-1990.76 1088.29,-1743.73 1088.29,-1743.73 1088.29,-1743.73 1088.29,-1530.43 1088.29,-1370.84 1047.04,-1309.97 1130.29,-1173.82 1158.64,-1127.45 1192.94,-1142.45 1229.29,-1102.05"/>
<path fill="none" stroke="black" d="M1229.29,-1100.05C1241.66,-1085.44 1240.32,-1078.36 1253.29,-1064.28 1287.95,-1026.65 1331.58,-1042.31 1343.29,-992.51"/>
<path fill="none" stroke="black" d="M1343.29,-990.51C1370.89,-873.06 1349.58,-839.45 1367.29,-720.1 1368.51,-711.88 1370.08,-703.18 1371.75,-694.79"/>
<polygon fill="#f95a10" stroke="black" points="1375.16,-695.58 1373.75,-685.08 1368.3,-694.17 1375.16,-695.58"/>
</g>
<!-- ahriman_core_repository_repository -->
<g id="node104" class="node">
<title>ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="9004.29" cy="-1633.19" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="9004.29" y="-1647.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9004.29" y="-1636.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9004.29" y="-1625.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="9004.29" y="-1614.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository</text>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository -->
<g id="edge107" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7332.9,-3845.94C7481.16,-3841.65 8027.8,-3821.92 8472.29,-3754.97"/>
<path fill="none" stroke="black" d="M8472.29,-3752.97C8667.66,-3723.54 10019.95,-3329.01 10158.29,-3187.95 10184.21,-3161.52 10379.86,-2598.28 10386.29,-2561.83 10390.76,-2536.45 10390.42,-2529.28 10386.29,-2503.84 10383.59,-2487.2 10376.99,-2484.49 10374.29,-2467.84 10367.94,-2428.76 10364.56,-2417.13 10374.29,-2378.75 10393.32,-2303.68 10544.74,-2149.66 10540.29,-2072.34"/>
<path fill="none" stroke="black" d="M10540.29,-2070.34C10530.46,-1974.37 10598.08,-1930.52 10540.29,-1853.27"/>
</g>
<!-- ahriman_core_repository_repository_properties -->
<g id="node105" class="node">
<title>ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="9379.29" cy="-1961.8" rx="77.15" ry="36.54"/>
<text text-anchor="middle" x="9379.29" y="-1975.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9379.29" y="-1964.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9379.29" y="-1953.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="9379.29" y="-1942.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository_properties</text>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge108" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7332.42,-3843.83C7572.62,-3822.58 8893.41,-3681.66 9740.29,-3093.97 9798.01,-3053.9 9814.92,-3042.62 9854.29,-2984.43 9977.29,-2802.61 10108.07,-2673.1 9968.29,-2503.84 9914.39,-2438.58 9850.41,-2516.68 9781.29,-2467.84 9645.04,-2371.57 9722.61,-2247.01 9591.29,-2144.11 9547.12,-2109.51 9515.47,-2141.37 9470.29,-2108.11 9454.87,-2096.76 9457.83,-2087.62 9446.29,-2072.34"/>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_models_package -->
<g id="edge109" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7260.8,-3833.33C7166.6,-3795.56 6890.65,-3688.43 6652.29,-3630.99 6517.23,-3598.45 6353.99,-3579.53 6273.73,-3571.54"/>
<polygon fill="#f95a10" stroke="black" points="6274.31,-3568.07 6264.01,-3570.58 6273.62,-3575.04 6274.31,-3568.07"/>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_models_remote_source -->
<g id="edge110" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7255.59,-3846.27C7055.33,-3842.61 6141.39,-3823.76 6022.29,-3782.96 5979.72,-3768.37 5979.8,-3744.55 5939.29,-3724.97 5890.95,-3701.61 5832.3,-3684.8 5788.64,-3674.29"/>
<polygon fill="#f95a10" stroke="black" points="5789.6,-3670.92 5779.07,-3672.04 5788,-3677.74 5789.6,-3670.92"/>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_web_views_service_search -->
<g id="edge111" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8472.29,-3752.97C8825.57,-3703.65 11369.71,-3353.62 11614.29,-3093.97 11723.74,-2977.77 11604.68,-2527.7 11547.29,-2378.75 11519.25,-2305.99 11340.96,-2141.86 11376.29,-2072.34"/>
</g>
<!-- ahriman_core_alpm_pacman -->
<g id="node39" class="node">
<title>ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b33b04" stroke="black" cx="1141.29" cy="-2423.3" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="1141.29" y="-2437.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1141.29" y="-2426.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1141.29" y="-2415.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="1141.29" y="-2404.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pacman</text>
</g>
<!-- ahriman_core_alpm_remote_aur -->
<g id="node41" class="node">
<title>ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a4228" stroke="black" cx="1143.29" cy="-3957.49" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="1143.29" y="-3976.99" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1143.29" y="-3965.99" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1143.29" y="-3954.99" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="1143.29" y="-3943.99" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="1143.29" y="-3932.99" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aur</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge112" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1127.37,-2457.77C1099.03,-2529.07 1037.29,-2701.72 1037.29,-2852.67 1037.29,-3473.02 1037.29,-3473.02 1037.29,-3473.02 1037.29,-3585.17 1026.4,-3612.86 1023.29,-3724.97 1021.41,-3792.49 991.34,-3817.43 1023.29,-3876.94 1038.73,-3905.71 1069.67,-3925.84 1096.26,-3938.65"/>
<polygon fill="#b33b04" stroke="black" points="1094.65,-3941.76 1105.2,-3942.73 1097.56,-3935.39 1094.65,-3941.76"/>
</g>
<!-- ahriman_core_alpm_remote_official -->
<g id="node42" class="node">
<title>ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a4228" stroke="black" cx="923.29" cy="-2298.2" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="923.29" y="-2317.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="923.29" y="-2306.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="923.29" y="-2295.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="923.29" y="-2284.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="923.29" y="-2273.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">official</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge113" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1108.65,-2403.87C1071.12,-2382.68 1009.33,-2347.78 967.5,-2324.17"/>
<polygon fill="#b33b04" stroke="black" points="969.33,-2321.18 958.91,-2319.31 965.89,-2327.28 969.33,-2321.18"/>
</g>
<!-- ahriman_core_alpm_remote_official_syncdb -->
<g id="node43" class="node">
<title>ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="572.29" cy="-2298.2" rx="56.64" ry="44.6"/>
<text text-anchor="middle" x="572.29" y="-2317.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="572.29" y="-2306.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="572.29" y="-2295.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="572.29" y="-2284.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="572.29" y="-2273.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">official_syncdb</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge114" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1103.58,-2414.62C1035.39,-2400.69 887.06,-2370.14 762.29,-2342.75 720.8,-2333.64 674.32,-2322.99 637.72,-2314.51"/>
<polygon fill="#b33b04" stroke="black" points="638.7,-2311.14 628.17,-2312.29 637.11,-2317.96 638.7,-2311.14"/>
</g>
<!-- ahriman_core_alpm_remote_remote -->
<g id="node44" class="node">
<title>ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#914f30" stroke="black" cx="809.29" cy="-2298.2" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="809.29" y="-2317.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="809.29" y="-2306.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="809.29" y="-2295.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="809.29" y="-2284.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="809.29" y="-2273.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge115" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1103.64,-2414.56C1051.13,-2402.98 953.65,-2378.6 876.29,-2342.75 867.88,-2338.85 859.29,-2334.02 851.19,-2329.01"/>
<polygon fill="#b33b04" stroke="black" points="853.19,-2326.13 842.88,-2323.67 849.41,-2332.02 853.19,-2326.13"/>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository -->
<g id="edge116" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1179.9,-2421.12C1357.77,-2415.74 2116.13,-2393.07 2738.29,-2378.75 2844.89,-2376.29 4554.27,-2370.25 4657.29,-2342.75 4834.22,-2295.51 4850.87,-2218.32 5018.29,-2144.11 5200.05,-2063.55 5256.08,-2070.86 5441.29,-1998.57 5630.22,-1924.84 5662.06,-1862.76 5859.29,-1815.5 6479.64,-1666.84 8580.92,-1638.55 8949.03,-1634.71"/>
<polygon fill="#b33b04" stroke="black" points="8948.92,-1638.21 8958.89,-1634.6 8948.85,-1631.21 8948.92,-1638.21"/>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge117" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1179.89,-2421C1357.76,-2415.11 2116.07,-2390.5 2738.29,-2378.75 3118.35,-2371.57 5782.97,-2396.49 6159.29,-2342.75 6304.59,-2322 6334.19,-2286.3 6477.29,-2253.65 7021.21,-2129.56 7158.66,-2094.86 7713.29,-2034.57 8100.23,-1992.51 8199.43,-2015.37 8588.29,-1998.57 8843.61,-1987.55 9145.25,-1973.67 9291.28,-1966.9"/>
<polygon fill="#b33b04" stroke="black" points="9291.04,-1970.42 9300.87,-1966.46 9290.71,-1963.42 9291.04,-1970.42"/>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_models_package -->
<g id="edge118" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1164.48,-2452.69C1188.48,-2481.41 1227.67,-2526.5 1265.29,-2561.83 1322.37,-2615.43 1337.29,-2629.22 1403.29,-2671.36 1586.07,-2788.08 1633.88,-2820.9 1839.29,-2890.44 1920.7,-2918 1947.5,-2900.03 2029.29,-2926.44 2087.18,-2945.14 2095.44,-2965.58 2153.29,-2984.43 2233.69,-3010.62 2817.42,-3113.13 2900.29,-3129.97 3022.27,-3154.75 3051.95,-3164.96 3174.29,-3187.95 3271.23,-3206.16 3300.51,-3190.44 3393.29,-3223.95 3466.94,-3250.54 3472.11,-3285.17 3545.29,-3313.04 3743.95,-3388.72 4272.16,-3476.14 4483.29,-3501.01 4823.7,-3541.11 5926.04,-3560.36 6174.31,-3564.25"/>
<polygon fill="#b33b04" stroke="black" points="6173.92,-3567.75 6183.97,-3564.4 6174.03,-3560.75 6173.92,-3567.75"/>
</g>
<!-- ahriman_core_alpm_remote -->
<g id="node40" class="node">
<title>ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b33b04" stroke="black" cx="1237.29" cy="-3957.49" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="1237.29" y="-3971.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1237.29" y="-3960.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1237.29" y="-3949.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="1237.29" y="-3938.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote</text>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_application_handlers_search -->
<g id="edge119" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1211.93,-3929.67C1205.29,-3923.62 1197.86,-3917.61 1190.29,-3912.94 1151.51,-3889 1132.15,-3902.29 1094.29,-3876.94 999.44,-3813.44 975.39,-3788.38 919.29,-3688.97 842.07,-3552.15 868.03,-3499.35 822.29,-3349.04 768.9,-3173.59 695.29,-3139.83 695.29,-2956.43 695.29,-2956.43 695.29,-2956.43 695.29,-990.51 695.29,-887.12 601.76,-801.96 695.29,-757.87"/>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_models_package -->
<g id="edge120" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1275.81,-3953.56C1488.85,-3937.46 2544.36,-3859.01 3408.29,-3818.96 3544.2,-3812.66 4504.81,-3830.52 4632.29,-3782.96 4670.46,-3768.72 4665.63,-3740.53 4703.29,-3724.97 4853.54,-3662.91 4905.56,-3705.5 5067.29,-3688.97 5496.35,-3645.14 6014.61,-3589.57 6174.75,-3572.34"/>
<polygon fill="#b33b04" stroke="black" points="6175.02,-3575.83 6184.59,-3571.28 6174.27,-3568.87 6175.02,-3575.83"/>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_models_remote_source -->
<g id="edge121" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1275.85,-3955.68C1554.93,-3949.62 3294.47,-3907.93 4703.29,-3782.96 5065.27,-3750.85 5497.1,-3692.78 5659.36,-3670.26"/>
<polygon fill="#b33b04" stroke="black" points="5659.65,-3673.75 5669.07,-3668.91 5658.68,-3666.82 5659.65,-3673.75"/>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_web_views_service_search -->
<g id="edge122" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1276.06,-3956.35C1730.95,-3954.74 6058.04,-3937.89 7341.29,-3876.94 7851.31,-3852.71 7977.61,-3827.22 8486.29,-3782.96 8940.71,-3743.41 9057.64,-3759.52 9508.29,-3688.97 10395.31,-3550.11 10677.56,-3618.74 11465.29,-3187.95 11533.98,-3150.38 11576.47,-3162.52 11614.29,-3093.97 11630.07,-3065.35 11617.98,-3052.9 11614.29,-3020.43 11581.19,-2729.63 11540.45,-2661.87 11466.29,-2378.75 11430.32,-2241.45 11320.99,-2203.06 11376.29,-2072.34"/>
<path fill="none" stroke="black" d="M11376.29,-2070.34C11390.06,-2013.46 11452.29,-2021.33 11452.29,-1962.8"/>
<path fill="none" stroke="black" d="M11452.29,-1960.8C11452.29,-1575.79 11319.79,-1397.82 11566.29,-1102.05"/>
<path fill="none" stroke="black" d="M11566.29,-1100.05C11615.85,-1033.78 11652.5,-1042.71 11718.29,-992.51"/>
<path fill="none" stroke="black" d="M11718.29,-990.51C11732.6,-979.59 11723.14,-965.87 11737.29,-954.74 11813.9,-894.44 11931.12,-879.43 11997.3,-875.95"/>
<polygon fill="#b33b04" stroke="black" points="11997.3,-879.46 12007.13,-875.51 11996.99,-872.46 11997.3,-879.46"/>
</g>
<!-- ahriman_core_alpm_remote_aur&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge123" class="edge">
<title>ahriman_core_alpm_remote_aur&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1181.84,-3957.49C1183.69,-3957.49 1185.54,-3957.49 1187.39,-3957.49"/>
<polygon fill="#7a4228" stroke="black" points="1187.22,-3960.99 1197.22,-3957.49 1187.22,-3953.99 1187.22,-3960.99"/>
</g>
<!-- ahriman_core_alpm_remote_official&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge124" class="edge">
<title>ahriman_core_alpm_remote_official&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M914.35,-2341.95C912.26,-2353.81 910.34,-2366.73 909.29,-2378.75 897.97,-2508.31 896.95,-2541.9 909.29,-2671.36 915.54,-2736.94 928.74,-2751.59 937.29,-2816.9 956.51,-2963.75 928.97,-3007.59 958.83,-3146.87"/>
<polygon fill="#7a4228" stroke="black" points="955.38,-3147.47 960.96,-3156.48 962.22,-3145.96 955.38,-3147.47"/>
</g>
<!-- ahriman_core_alpm_remote_official_syncdb&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge125" class="edge">
<title>ahriman_core_alpm_remote_official_syncdb&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M586.04,-2341.85C610.1,-2420.36 657.29,-2593.45 657.29,-2743.13 657.29,-2854.67 657.29,-2854.67 657.29,-2854.67 657.29,-3042.17 786.16,-3052.16 861.29,-3223.95 959.02,-3447.43 899.54,-3545.22 1030.89,-3743.45"/>
<polygon fill="#8a4b2e" stroke="black" points="1027.96,-3745.37 1036.44,-3751.71 1033.77,-3741.46 1027.96,-3745.37"/>
<path fill="none" stroke="black" d="M1037.29,-3754.97C1039.99,-3766.77 1156.38,-3879.18 1210.34,-3930.8"/>
</g>
<!-- ahriman_core_alpm_remote_remote&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge126" class="edge">
<title>ahriman_core_alpm_remote_remote&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M809.29,-2342.93C809.29,-2389.69 809.29,-2466 809.29,-2531.83 809.29,-2635.6 809.29,-2635.6 809.29,-2635.6 809.29,-2873.61 883.76,-2926.51 957.76,-3147.31"/>
<polygon fill="#914f30" stroke="black" points="954.35,-3148.13 960.81,-3156.52 960.99,-3145.93 954.35,-3148.13"/>
<path fill="none" stroke="black" d="M961.29,-3159.96C1027.98,-3417.17 986.55,-3492.14 1037.29,-3752.97"/>
</g>
<!-- ahriman_core_alpm_repo -->
<g id="node45" class="node">
<title>ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#914f30" stroke="black" cx="9336.29" cy="-2423.3" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="9336.29" y="-2437.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9336.29" y="-2426.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9336.29" y="-2415.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="9336.29" y="-2404.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repo</text>
</g>
<!-- ahriman_core_alpm_repo&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge127" class="edge">
<title>ahriman_core_alpm_repo&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9357.48,-2392.66C9386.85,-2349.03 9437.32,-2263.78 9446.29,-2181.88"/>
<path fill="none" stroke="black" d="M9446.29,-2179.88C9445.07,-2132.1 9475.09,-2110.48 9446.29,-2072.34"/>
<path fill="none" stroke="black" d="M9446.29,-2070.34C9431.2,-2050.37 9416.29,-2026.91 9404.38,-2007.01"/>
<polygon fill="#914f30" stroke="black" points="9407.49,-2005.39 9399.38,-1998.56 9401.46,-2008.95 9407.49,-2005.39"/>
</g>
<!-- ahriman_core_auth -->
<g id="node46" class="node">
<title>ahriman_core_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db4905" stroke="black" cx="13000.29" cy="-1320.13" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="13000.29" y="-1328.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13000.29" y="-1317.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13000.29" y="-1306.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth</text>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge128" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13034.86,-1306.69C13072.77,-1292.88 13135.29,-1269.58 13188.29,-1247.36 13332.32,-1186.96 13676.14,-994.07 13827.29,-954.74 14021.89,-904.11 14083.31,-967.91 14278.29,-918.74 14294.26,-914.71 14310.92,-908.33 14325.91,-901.68"/>
<polygon fill="#db4905" stroke="black" points="14326.99,-905.03 14334.62,-897.69 14324.07,-898.67 14326.99,-905.03"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_base -->
<g id="edge129" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12971.29,-1300.7C12953.67,-1287.92 12932.31,-1269.28 12920.29,-1247.36 12888.81,-1189.96 12912.85,-1165.37 12896.29,-1102.05"/>
<path fill="none" stroke="black" d="M12896.29,-1100.05C12881.6,-1056.29 12835.76,-1027 12800.1,-1010.18"/>
<polygon fill="#db4905" stroke="black" points="12801.81,-1007.11 12791.25,-1006.19 12798.92,-1013.49 12801.81,-1007.11"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_index -->
<g id="edge130" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12915.29,-990.51C12910.93,-966.96 12915.58,-940.83 12921.91,-919.41"/>
<polygon fill="#db4905" stroke="black" points="12925.17,-920.7 12924.87,-910.11 12918.5,-918.58 12925.17,-920.7"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_user_login -->
<g id="edge131" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13031.37,-1302.62C13056.7,-1288.79 13093.1,-1268.03 13123.29,-1247.36 13252.22,-1159.07 13287.34,-1138.33 13398.29,-1028.28 13432.99,-993.86 13467.58,-950.17 13491.38,-918.28"/>
<polygon fill="#db4905" stroke="black" points="13494.06,-920.54 13497.2,-910.42 13488.44,-916.37 13494.06,-920.54"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge132" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12896.29,-1100.05C12880.84,-1054.04 12924.13,-1040.23 12915.29,-992.51"/>
<path fill="none" stroke="black" d="M12915.29,-990.51C12904.18,-930.52 12846.9,-955.6 12798.29,-918.74 12795.18,-916.38 12792.04,-913.85 12788.94,-911.25"/>
<polygon fill="#db4905" stroke="black" points="12791.33,-908.69 12781.49,-904.75 12786.73,-913.96 12791.33,-908.69"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_web -->
<g id="edge133" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12963.83,-1309.99C12917.53,-1297.91 12835.6,-1274.9 12768.29,-1247.36 12473.82,-1126.84 12349.78,-1150.97 12132.29,-918.74 12117.85,-903.33 12104.48,-894.38 12113.29,-875.19"/>
</g>
<!-- ahriman_core_auth_auth -->
<g id="node47" class="node">
<title>ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="13000.29" cy="-1742.73" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="13000.29" y="-1756.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13000.29" y="-1745.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13000.29" y="-1734.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="13000.29" y="-1723.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth</text>
</g>
<!-- ahriman_core_auth_auth&#45;&gt;ahriman_core_auth -->
<g id="edge134" class="edge">
<title>ahriman_core_auth_auth&#45;&gt;ahriman_core_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13000.29,-1705.87C13000.29,-1627.75 13000.29,-1442.67 13000.29,-1361.02"/>
<polygon fill="#733e26" stroke="black" points="13003.79,-1361.03 13000.29,-1351.03 12996.79,-1361.03 13003.79,-1361.03"/>
</g>
<!-- ahriman_core_auth_helpers -->
<g id="node48" class="node">
<title>ahriman_core_auth_helpers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d95e26" stroke="black" cx="13076.29" cy="-1210.59" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="13076.29" y="-1224.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13076.29" y="-1213.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13076.29" y="-1202.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="13076.29" y="-1191.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">helpers</text>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_index -->
<g id="edge135" class="edge">
<title>ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13077.91,-1173.99C13079.29,-1152.94 13081.79,-1125.81 13086.29,-1102.05"/>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_login -->
<g id="edge136" class="edge">
<title>ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13107.57,-1188.8C13176.21,-1142.78 13344.31,-1027.69 13475.29,-918.74 13478.29,-916.25 13481.34,-913.62 13484.39,-910.94"/>
<polygon fill="#d95e26" stroke="black" points="13486.65,-913.62 13491.76,-904.34 13481.97,-908.41 13486.65,-913.62"/>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge137" class="edge">
<title>ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13057.83,-1178.18C13050.48,-1165.64 13041.96,-1151.06 13034.29,-1137.82 12987.27,-1056.65 13003.44,-1012.19 12929.29,-954.74 12881.56,-917.76 12851.05,-948.1 12798.29,-918.74 12794.88,-916.84 12791.52,-914.65 12788.27,-912.27"/>
<polygon fill="#d95e26" stroke="black" points="12790.59,-909.65 12780.59,-906.15 12786.22,-915.12 12790.59,-909.65"/>
</g>
<!-- ahriman_core_auth_mapping -->
<g id="node49" class="node">
<title>ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8b4322" stroke="black" cx="13038.29" cy="-1961.8" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="13038.29" y="-1975.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13038.29" y="-1964.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13038.29" y="-1953.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="13038.29" y="-1942.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">mapping</text>
</g>
<!-- ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_auth -->
<g id="edge138" class="edge">
<title>ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13009.98,-1936.92C12989.29,-1916.45 12965.88,-1885.27 12972.29,-1853.27"/>
</g>
<!-- ahriman_core_auth_oauth -->
<g id="node50" class="node">
<title>ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#833f20" stroke="black" cx="13322.29" cy="-1852.27" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="13322.29" y="-1866.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13322.29" y="-1855.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13322.29" y="-1844.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="13322.29" y="-1833.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">oauth</text>
</g>
<!-- ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge139" class="edge">
<title>ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13073.97,-1947.29C13125.23,-1927.88 13219.73,-1892.1 13276.21,-1870.71"/>
<polygon fill="#8b4322" stroke="black" points="13277.45,-1873.99 13285.56,-1867.17 13274.97,-1867.44 13277.45,-1873.99"/>
</g>
<!-- ahriman_core_auth_oauth&#45;&gt;ahriman_core_auth_auth -->
<g id="edge140" class="edge">
<title>ahriman_core_auth_oauth&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13285.98,-1839.14C13227.36,-1819.56 13111.93,-1781.01 13047.18,-1759.39"/>
<polygon fill="#833f20" stroke="black" points="13048.5,-1756.14 13037.9,-1756.29 13046.28,-1762.78 13048.5,-1756.14"/>
</g>
<!-- ahriman_core_auth_oauth&#45;&gt;ahriman_web_views_user_login -->
<g id="edge141" class="edge">
<title>ahriman_core_auth_oauth&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13350.05,-1826.72C13401.65,-1779.74 13513.01,-1671.86 13578.29,-1560.42 13652.82,-1433.16 13663.49,-1392.73 13688.29,-1247.36 13710.86,-1115.01 13692.23,-1063.34 13613.29,-954.74 13597.61,-933.17 13585.38,-936.27 13565.29,-918.74 13562.96,-916.71 13560.61,-914.58 13558.27,-912.4"/>
<polygon fill="#833f20" stroke="black" points="13561.13,-910.29 13551.49,-905.9 13556.28,-915.34 13561.13,-910.29"/>
</g>
<!-- ahriman_core_build_tools -->
<g id="node51" class="node">
<title>ahriman_core_build_tools</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f95a10" stroke="black" cx="4578.29" cy="-3753.97" rx="44.6" ry="28.98"/>
<text text-anchor="middle" x="4578.29" y="-3762.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="4578.29" y="-3751.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="4578.29" y="-3740.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">build_tools</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge142" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4590,-3725.53C4603.99,-3689.24 4624.23,-3623.27 4613.29,-3567"/>
<path fill="none" stroke="black" d="M4613.29,-3565C4547.29,-3182.49 4431.23,-3095.15 4448.29,-2707.36 4457.19,-2505.13 4467.3,-2454.99 4488.29,-2253.65 4501.78,-2124.16 4523.29,-2093 4523.29,-1962.8 4523.29,-1962.8 4523.29,-1962.8 4523.29,-1851.27 4523.29,-1561.38 4871.43,-1720.19 5092.29,-1532.43"/>
<path fill="none" stroke="black" d="M5092.29,-1530.43C5210.83,-1410.38 5226.83,-1364.42 5298.29,-1211.59"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge143" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4423.29,-3658.98C4401.57,-3642.74 4298.87,-3214.83 4295.29,-3187.95 4283.94,-3102.94 4296.56,-3183.71 4324.29,-2780.9 4327.09,-2740.26 4323.14,-2637.01 4334.29,-2597.83 4352.31,-2534.51 4389,-2531.62 4405.29,-2467.84 4415.08,-2429.48 4410.01,-2418.06 4405.29,-2378.75 4390.52,-2255.82 4359.73,-2230.22 4339.29,-2108.11 4304.36,-1899.48 4295.29,-1845.73 4295.29,-1634.19 4295.29,-1634.19 4295.29,-1634.19 4295.29,-1530.43 4295.29,-1424.5 4395.92,-1426.2 4409.29,-1321.13"/>
<path fill="none" stroke="black" d="M4409.29,-1319.13C4411.89,-1271.4 4389.44,-1255.07 4409.29,-1211.59"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge144" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4544.49,-3734.72C4512.51,-3717.03 4463.55,-3688.87 4423.29,-3660.98"/>
<path fill="none" stroke="black" d="M4423.29,-3658.98C4128.67,-3454.92 3991.57,-3536.25 3657.29,-3407.03 3471.15,-3335.07 3436.06,-3288.67 3247.29,-3223.95 3081.49,-3167.1 3036.02,-3165.03 2864.29,-3129.97 2767.21,-3110.14 2741.61,-3112.55 2644.29,-3093.97 2420.41,-3051.2 2361.64,-3049.81 2143.29,-2984.43 2074.42,-2963.8 2060.45,-2949.3 1992.29,-2926.44 1937.47,-2908.06 1919.56,-2915.13 1867.29,-2890.44 1815.11,-2865.8 1810.77,-2844.86 1760.29,-2816.9 1725.11,-2797.43 1712.85,-2799.67 1677.29,-2780.9 1596.47,-2738.26 1547.46,-2751.36 1503.29,-2671.36 1181.42,-2088.4 1745.35,-1874.49 1969.29,-1247.36 2007.19,-1141.2 2035.11,-848.39 2102.29,-757.87"/>
</g>
<!-- ahriman_core_gitremote_remote_pull -->
<g id="node84" class="node">
<title>ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="4615.29" cy="-2180.88" rx="47.25" ry="36.54"/>
<text text-anchor="middle" x="4615.29" y="-2194.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4615.29" y="-2183.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4615.29" y="-2172.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="4615.29" y="-2161.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_pull</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge145" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4613.29,-3565C4597.51,-3483.87 4627.02,-3460.54 4613.29,-3379.03"/>
<path fill="none" stroke="black" d="M4613.29,-3377.03C4608.45,-3348.33 4602.42,-3341.99 4599.29,-3313.04 4595.03,-3273.67 4596.69,-3263.46 4599.29,-3223.95 4609.42,-3069.59 4721.42,-2685.35 4690.29,-2533.83"/>
<path fill="none" stroke="black" d="M4690.29,-2531.83C4669.78,-2466.09 4681.22,-2445.98 4666.29,-2378.75 4658.31,-2342.82 4648.9,-2335.57 4643.29,-2299.2"/>
</g>
<!-- ahriman_core_gitremote_remote_push -->
<g id="node86" class="node">
<title>ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="5380.29" cy="-1961.8" rx="51.74" ry="36.54"/>
<text text-anchor="middle" x="5380.29" y="-1975.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5380.29" y="-1964.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5380.29" y="-1953.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="5380.29" y="-1942.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_push</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge146" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4613.29,-3377.03C4607.87,-3218.49 4699.76,-2828.54 4721.29,-2671.36 4743.89,-2506.29 4766.29,-2465.81 4766.29,-2299.2 4766.29,-2299.2 4766.29,-2299.2 4766.29,-2179.88 4766.29,-2090.82 4825.3,-2075.74 4904.29,-2034.57 4975.04,-1997.7 5205.06,-1975.91 5317.4,-1967.21"/>
<polygon fill="#f95a10" stroke="black" points="5317.33,-1970.72 5327.03,-1966.47 5316.8,-1963.75 5317.33,-1970.72"/>
</g>
<!-- ahriman_core_repository_executor -->
<g id="node103" class="node">
<title>ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="9004.29" cy="-1742.73" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="9004.29" y="-1756.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9004.29" y="-1745.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9004.29" y="-1734.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="9004.29" y="-1723.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">executor</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_repository_executor -->
<g id="edge147" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4619.46,-3742.04C4642.75,-3736.22 4672.48,-3729.37 4699.29,-3724.97 4861.46,-3698.4 4904.46,-3711.17 5067.29,-3688.97 5215.27,-3668.8 5249.8,-3646.99 5398.29,-3630.99 5784.38,-3589.4 5884.83,-3633.1 6271.29,-3594.99 6472.75,-3575.12 7921.5,-3449.23 8071.29,-3313.04 8113.75,-3274.44 8091.72,-3244.16 8103.29,-3187.95 8127,-3072.72 8118.91,-3041.32 8144.29,-2926.44 8162.37,-2844.59 8175.65,-2826.39 8196.29,-2745.13"/>
<path fill="none" stroke="black" d="M8196.29,-2743.13C8200.68,-2525.59 8244.31,-2467.71 8205.29,-2253.65 8188.23,-2160.1 7983.33,-1916.57 8054.29,-1853.27"/>
</g>
<!-- ahriman_core_repository_update_handler -->
<g id="node106" class="node">
<title>ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#82472b" stroke="black" cx="9361.29" cy="-1742.73" rx="58.88" ry="36.54"/>
<text text-anchor="middle" x="9361.29" y="-1756.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9361.29" y="-1745.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9361.29" y="-1734.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="9361.29" y="-1723.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update_handler</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge148" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4619.14,-3741.78C4642.44,-3735.84 4672.3,-3728.95 4699.29,-3724.97 4940.75,-3689.35 5004.49,-3714 5247.29,-3688.97 5431.23,-3670.02 5475.11,-3647.54 5659.29,-3630.99 6064.19,-3594.62 6167.27,-3615.55 6573.29,-3594.99 7248.82,-3560.79 7422.84,-3597.78 8092.29,-3501.01 8277.31,-3474.26 8321.79,-3455.72 8502.29,-3407.03 8908.75,-3297.37 9018.32,-3279.36 9396.29,-3093.97 9514.32,-3036.07 9795.37,-2862.71 9898.29,-2780.9 9898.29,-2780.9 10117.29,-2561.83 10117.29,-2561.83 10191.16,-2464.54 10198.29,-2421.35 10198.29,-2299.2 10198.29,-2299.2 10198.29,-2299.2 10198.29,-2179.88 10198.29,-2083.4 10262.08,-2035.18 10198.29,-1962.8"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_models_package -->
<g id="edge149" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4618.11,-3740.23C4635.53,-3734.98 4656.29,-3729.16 4675.29,-3724.97 5255.08,-3597.13 5980.21,-3572.37 6174.5,-3567.92"/>
<polygon fill="#f95a10" stroke="black" points="6174.31,-3571.42 6184.23,-3567.7 6174.15,-3564.43 6174.31,-3571.42"/>
</g>
<!-- ahriman_core_build_tools_sources -->
<g id="node52" class="node">
<title>ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a93804" stroke="black" cx="5071.29" cy="-2423.3" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="5071.29" y="-2437.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5071.29" y="-2426.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5071.29" y="-2415.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_tools.</text>
<text text-anchor="middle" x="5071.29" y="-2404.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sources</text>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge150" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5032.29,-2179.88C4937.41,-2070.9 4984.24,-1628.37 5092.29,-1532.43"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge151" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5081.66,-2387.23C5088.99,-2362.57 5099.11,-2328.83 5108.29,-2299.2"/>
<path fill="none" stroke="black" d="M5108.29,-2297.2C5108.57,-2296.28 5032.94,-2182.59 5032.29,-2181.88"/>
<path fill="none" stroke="black" d="M5032.29,-2179.88C4978,-2120.6 4928.48,-2159.04 4866.29,-2108.11 4813.42,-2064.82 4401.49,-1456.51 4409.29,-1321.13"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge152" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5032.29,-2179.88C5019.65,-2165.5 5019.23,-2159.82 5008.29,-2144.11 4997.01,-2127.92 4991.58,-2125.52 4982.29,-2108.11 4894.44,-1943.56 4690.29,-1507.66 4690.29,-1321.13 4690.29,-1321.13 4690.29,-1321.13 4690.29,-1209.59 4690.29,-1140.21 4685.69,-1109.74 4633.29,-1064.28 4583.91,-1021.45 3548.43,-819.25 3488.29,-793.64 3432.81,-770.03 3431.82,-738.13 3374.29,-720.1 3151.71,-650.37 2553.93,-730.21 2325.29,-684.1 2310.69,-681.16 2295.39,-676.21 2281.48,-670.92"/>
<polygon fill="#a93804" stroke="black" points="2283.13,-667.81 2272.54,-667.39 2280.56,-674.32 2283.13,-667.81"/>
</g>
<!-- ahriman_core_build_tools_task -->
<g id="node53" class="node">
<title>ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="8532.29" cy="-1961.8" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="8532.29" y="-1975.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8532.29" y="-1964.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8532.29" y="-1953.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_tools.</text>
<text text-anchor="middle" x="8532.29" y="-1942.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">task</text>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge153" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5118.43,-2420.46C5347.69,-2411.42 6337.5,-2370.89 6396.29,-2342.75 6444.56,-2319.64 6432.24,-2282.54 6477.29,-2253.65 6612.71,-2166.81 6665.11,-2178.42 6822.29,-2144.11 7212.09,-2059.04 7316.5,-2076.34 7713.29,-2034.57 7998.45,-2004.56 8340.42,-1977.45 8474.42,-1967.18"/>
<polygon fill="#a93804" stroke="black" points="8474.39,-1970.69 8484.09,-1966.44 8473.85,-1963.71 8474.39,-1970.69"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge154" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5038.54,-2396.58C4991.81,-2360.8 4902.32,-2295.69 4818.29,-2253.65 4770.26,-2229.62 4712.21,-2209.96 4670.51,-2197.33"/>
<polygon fill="#a93804" stroke="black" points="4671.77,-2194.06 4661.19,-2194.55 4669.77,-2200.77 4671.77,-2194.06"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge155" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5108.29,-2297.2C5133.38,-2216.2 5236.25,-2263.2 5260.29,-2181.88"/>
<path fill="none" stroke="black" d="M5260.29,-2179.88C5279.77,-2113.99 5321.59,-2045.9 5350.33,-2003.95"/>
<polygon fill="#a93804" stroke="black" points="5353.1,-2006.1 5355.93,-1995.88 5347.35,-2002.1 5353.1,-2006.1"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge156" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5118.23,-2420.06C5255.58,-2413.53 5668.55,-2394 6011.29,-2378.75 6105.06,-2374.58 6770.28,-2382.54 6855.29,-2342.75 6903.76,-2320.06 6891.8,-2283.4 6936.29,-2253.65 7055.67,-2173.82 7102.54,-2184.73 7240.29,-2144.11 7447.27,-2083.09 7501.55,-2076.19 7713.29,-2034.57 7887.24,-2000.39 9119.35,-1833.25 9288.29,-1779.5 9294.58,-1777.49 9301,-1775.03 9307.31,-1772.34"/>
<polygon fill="#a93804" stroke="black" points="9308.7,-1775.55 9316.38,-1768.26 9305.82,-1769.17 9308.7,-1775.55"/>
</g>
<!-- ahriman_core_build_tools_task&#45;&gt;ahriman_core_repository_executor -->
<g id="edge158" class="edge">
<title>ahriman_core_build_tools_task&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8579.11,-1958.1C8689.15,-1950.6 8958.45,-1925.08 9004.29,-1853.27"/>
<path fill="none" stroke="black" d="M9004.29,-1851.27C9015.68,-1833.42 9016.98,-1810.29 9014.89,-1790.05"/>
<polygon fill="#733e26" stroke="black" points="9018.39,-1789.79 9013.58,-1780.35 9011.45,-1790.73 9018.39,-1789.79"/>
</g>
<!-- ahriman_core_configuration -->
<g id="node54" class="node">
<title>ahriman_core_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db4905" stroke="black" cx="7937.29" cy="-3268.5" rx="50.82" ry="28.98"/>
<text text-anchor="middle" x="7937.29" y="-3277" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7937.29" y="-3266" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7937.29" y="-3255" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge159" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.37,-3266.51C7710.8,-3262.61 7131.82,-3245.6 6956.29,-3187.95 6880.83,-3163.16 6871.08,-3136.95 6804.29,-3093.97 6770.11,-3071.97 6531.91,-2915.99 6500.29,-2890.44 6463.72,-2860.91 6464.6,-2841.07 6424.29,-2816.9 6379.44,-2790.02 6359.03,-2804.33 6312.29,-2780.9 6274.74,-2762.09 6185.81,-2703.08 6158.29,-2671.36 6134.17,-2643.58 6149.6,-2620.06 6120.29,-2597.83 6057.37,-2550.1 6004,-2615.73 5946.29,-2561.83 5818.18,-2442.15 5840.29,-2357.19 5840.29,-2181.88 5840.29,-2181.88 5840.29,-2181.88 5840.29,-2070.34 5840.29,-1924.2 5802.29,-1889.87 5802.29,-1743.73 5802.29,-1743.73 5802.29,-1743.73 5802.29,-1428.67 5802.29,-1370.12 5799.71,-1302.74 5797.69,-1258.78"/>
<polygon fill="#db4905" stroke="black" points="5801.18,-1258.64 5797.22,-1248.81 5794.19,-1258.96 5801.18,-1258.64"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_add -->
<g id="edge160" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7094.29,-3056.2C7034.76,-3013.8 7042.09,-2980.84 6993.29,-2926.44 6946.58,-2874.38 6933.25,-2862.59 6880.29,-2816.9 6860.36,-2799.72 6852.11,-2799.3 6833.29,-2780.9 6758.66,-2707.97 6767.5,-2663.36 6686.29,-2597.83 6658.44,-2575.36 6635.16,-2590.88 6614.29,-2561.83 6533.61,-2449.51 6606.53,-2387.38 6571.29,-2253.65 6531.26,-2101.77 6510,-2066.27 6441.29,-1925.03 6338.01,-1712.75 6270.9,-1681.38 6173.29,-1466.43 6081.42,-1264.14 5963.06,-1208.69 6014.29,-992.51"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge161" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7987.69,-3263.53C8075.3,-3255.64 8260.62,-3234.57 8410.29,-3187.95 8468.37,-3169.85 8476.77,-3149.8 8534.29,-3129.97 8601.56,-3106.77 8621.88,-3113.55 8690.29,-3093.97 8786.97,-3066.28 8808.51,-3051.1 8904.29,-3020.43 9206.76,-2923.57 9279.49,-2886.84 9589.29,-2816.9 9690.21,-2794.12 9727,-2827.68 9819.29,-2780.9 9870.74,-2754.83 9955.85,-2630.64 10003.29,-2597.83 10035.02,-2575.87 10052.58,-2586.45 10082.29,-2561.83 10272.28,-2404.36 10284.29,-2324.83 10402.29,-2108.11 10494.43,-1938.88 10426.33,-1840.48 10564.29,-1705.96 10629.51,-1642.36 10717.41,-1716.57 10756.29,-1634.19"/>
<path fill="none" stroke="black" d="M10756.29,-1632.19C10790.17,-1549.28 10756.29,-1520.23 10756.29,-1430.67 10756.29,-1430.67 10756.29,-1430.67 10756.29,-1100.05 10756.29,-1034.59 10756.54,-1015.73 10780.29,-954.74 10795.61,-915.38 10825.7,-916.91 10832.29,-875.19"/>
<path fill="none" stroke="black" d="M10832.29,-873.19C10845.36,-774.11 10832.29,-748.27 10832.29,-648.34 10832.29,-648.34 10832.29,-648.34 10832.29,-544.57 10832.29,-376.39 8050.38,-340.47 7609.76,-335.84"/>
<polygon fill="#db4905" stroke="black" points="7609.85,-332.34 7599.81,-335.74 7609.78,-339.34 7609.85,-332.34"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_clean -->
<g id="edge162" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7664.29,-3056.2C7587.43,-3010.21 7694.94,-2938.83 7664.29,-2854.67"/>
<path fill="none" stroke="black" d="M7664.29,-2852.67C7648.61,-2800.26 7600.06,-2822.3 7564.29,-2780.9 7540.23,-2753.07 7551.36,-2734.29 7526.29,-2707.36 7505.35,-2684.89 7490.31,-2691.71 7467.29,-2671.36 7381.48,-2595.54 7362.51,-2569.23 7309.29,-2467.84 7223.22,-2303.89 7178.29,-2257.51 7178.29,-2072.34 7178.29,-2072.34 7178.29,-2072.34 7178.29,-1851.27 7178.29,-1463.66 7026.29,-1380.11 7026.29,-992.51 7026.29,-992.51 7026.29,-992.51 7026.29,-873.19 7026.29,-799.78 7024.25,-762.45 6964.29,-720.1 6889.89,-667.55 6232.03,-711.92 6145.29,-684.1 6141.14,-682.77 6137,-681.04 6132.96,-679.06"/>
<polygon fill="#db4905" stroke="black" points="6134.95,-676.16 6124.5,-674.42 6131.59,-682.3 6134.95,-676.16"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_daemon -->
<g id="edge163" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_daemon</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.35,-3266.08C8166.54,-3260.73 8759.82,-3239.38 8942.29,-3187.95 8997,-3172.53 9001.19,-3143.94 9056.29,-3129.97 9129.71,-3111.34 10356.25,-3135.96 10419.29,-3093.97 10449.1,-3074.1 10436.96,-3052.81 10452.29,-3020.43 10496.83,-2926.33 10870.29,-2285.99 10870.29,-2181.88 10870.29,-2181.88 10870.29,-2181.88 10870.29,-1960.8 10870.29,-1895.35 10860.67,-1879.35 10846.29,-1815.5 10827.87,-1733.71 10794.29,-1718.02 10794.29,-1634.19 10794.29,-1634.19 10794.29,-1634.19 10794.29,-1100.05 10794.29,-1016.22 10828.51,-1000.66 10846.29,-918.74 10861.62,-848.1 10870.29,-830.16 10870.29,-757.87 10870.29,-757.87 10870.29,-757.87 10870.29,-544.57 10870.29,-450.03 10974.04,-403.21 10908.29,-335.27"/>
<path fill="none" stroke="black" d="M10908.29,-333.27C10770.64,-211.94 7781.62,-315.58 7606.29,-261.5 7602.12,-260.22 7597.97,-258.52 7593.92,-256.56"/>
<polygon fill="#db4905" stroke="black" points="7595.92,-253.66 7585.46,-251.95 7592.57,-259.8 7595.92,-253.66"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge164" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.19,-3266.07C7514.65,-3255.67 5241.89,-3191.93 5207.29,-3187.95 5145.12,-3180.79 5131.71,-3164.49 5069.29,-3159.96"/>
<path fill="none" stroke="black" d="M5069.29,-3157.96C4914.97,-3146.75 4876.62,-3140.99 4722.29,-3129.97 4465.56,-3111.62 4398.33,-3135.3 4144.29,-3093.97 4018.99,-3073.58 3993.93,-3038.56 3868.29,-3020.43 3717.24,-2998.63 2632.52,-3051.18 2495.29,-2984.43 2465.2,-2969.79 2476.01,-2943.6 2447.29,-2926.44 2377.24,-2884.61 2334.85,-2936.17 2267.29,-2890.44 2234.96,-2868.57 2251.35,-2839.16 2219.29,-2816.9 2159.42,-2775.33 2123.31,-2815.75 2059.29,-2780.9 2018.28,-2758.59 2026.07,-2728.2 1984.29,-2707.36 1888.15,-2659.43 1821.85,-2746.72 1745.29,-2671.36 1649.1,-2576.7 1645.29,-2207.3 1645.29,-2072.34 1645.29,-2072.34 1645.29,-2072.34 1645.29,-1632.19 1645.29,-1578.05 1632.21,-1517.06 1621.61,-1476.5"/>
<polygon fill="#db4905" stroke="black" points="1625.05,-1475.84 1619.08,-1467.08 1618.29,-1477.65 1625.05,-1475.84"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge165" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12046.29,-3157.96C12060.17,-3157.16 12048.58,-3137.47 12060.29,-3129.97 12162.68,-3064.34 13038.2,-3130.24 13154.29,-3093.97 13211.84,-3075.98 13214.25,-3047.17 13268.29,-3020.43 13452.07,-2929.48 13936.86,-2755.08 14136.29,-2707.36 14199.44,-2692.26 14375.04,-2711.25 14426.29,-2671.36 14536.43,-2585.64 14474.3,-2501.74 14540.29,-2378.75 14560.73,-2340.65 14572.87,-2335.55 14596.29,-2299.2"/>
<path fill="none" stroke="black" d="M14596.29,-2297.2C14612.85,-2266.92 14638.75,-2237.96 14660.44,-2216.64"/>
<polygon fill="#db4905" stroke="black" points="14662.66,-2219.37 14667.43,-2209.91 14657.8,-2214.33 14662.66,-2219.37"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_help -->
<g id="edge166" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_help</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7978.29,-3157.96C7973.47,-3108.99 7958.25,-3098.68 7930.29,-3058.2"/>
<path fill="none" stroke="black" d="M7930.29,-3056.2C7901.8,-3014.95 7877.34,-3021.21 7843.29,-2984.43 7727.77,-2859.63 7706.15,-2819.87 7623.29,-2671.36 7457.24,-2373.78 7330.29,-2303.58 7330.29,-1962.8 7330.29,-1962.8 7330.29,-1962.8 7330.29,-1530.43 7330.29,-1453.3 7331.84,-1434.02 7332.29,-1356.9 7334.01,-1057.71 7315.03,-983.24 7309.29,-684.1 7308.66,-651.43 7299.85,-641.86 7309.29,-610.57 7334.82,-525.92 7388.2,-527.58 7419.29,-444.81"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_key_import -->
<g id="edge167" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7664.29,-2852.67C7643.73,-2768.65 7371.21,-2498.29 7354.29,-2467.84 7277.02,-2328.85 7216.29,-2061.77 7216.29,-1853.27 7216.29,-1853.27 7216.29,-1853.27 7216.29,-1741.73 7216.29,-1602.45 7178.29,-1569.94 7178.29,-1430.67 7178.29,-1430.67 7178.29,-1430.67 7178.29,-873.19 7178.29,-799.78 7175.51,-763.48 7116.29,-720.1 7047.31,-669.59 6450.82,-653.33 6259.84,-649.39"/>
<polygon fill="#db4905" stroke="black" points="6259.97,-645.9 6249.9,-649.19 6259.83,-652.89 6259.97,-645.9"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge168" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.23,-3266.6C7675.74,-3262.61 6854.76,-3244.1 6182.29,-3187.95 5569.23,-3136.76 5422.01,-3062.91 4808.29,-3020.43 4690.33,-3012.26 2789.9,-3028.77 2680.29,-2984.43 2645.31,-2970.28 2649.49,-2947.66 2618.29,-2926.44 2587.38,-2905.43 2574.14,-2910 2542.29,-2890.44 2496.78,-2862.51 2491.42,-2846.96 2447.29,-2816.9 2368.62,-2763.33 2353.72,-2737.02 2263.29,-2707.36 2184.58,-2681.56 1947.96,-2732.7 1892.29,-2671.36 1870.32,-2647.16 1884.56,-2629.58 1892.29,-2597.83 1963.19,-2306.47 2116.47,-2285.89 2202.29,-1998.57 2244.31,-1857.88 2225.13,-1816.36 2236.29,-1669.96 2243.17,-1579.66 2243.11,-1556.94 2246.29,-1466.43 2253.68,-1255.88 2215.49,-1199.2 2256.29,-992.51"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge169" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5069.29,-3157.96C4914.95,-3147.06 4876.6,-3141.24 4722.29,-3129.97 4477.97,-3112.12 4409.15,-3156.46 4172.29,-3093.97 4099.72,-3074.82 4093.23,-3038.07 4020.29,-3020.43 3939.43,-3000.87 2596,-3024.85 2523.29,-2984.43 2496.36,-2969.46 2510.91,-2943.56 2485.29,-2926.44 2413.82,-2878.7 2364.2,-2941.81 2295.29,-2890.44 2265.79,-2868.46 2286.55,-2839.21 2257.29,-2816.9 2195.86,-2770.09 2151.61,-2823.65 2087.29,-2780.9 2054.16,-2758.89 2069.78,-2728.81 2036.29,-2707.36 1958.75,-2657.72 1906.75,-2725.51 1832.29,-2671.36 1776.32,-2630.67 1759.29,-2603.04 1759.29,-2533.83 1759.29,-2533.83 1759.29,-2533.83 1759.29,-2179.88 1759.29,-1937.35 1760.29,-1876.72 1760.29,-1634.19 1760.29,-1634.19 1760.29,-1634.19 1760.29,-990.51 1760.29,-887.12 1704.64,-845.02 1760.29,-757.87"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove -->
<g id="edge170" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7930.29,-3056.2C7821.89,-2910.14 7825.8,-2852.59 7716.29,-2707.36 7703.22,-2690.03 7696.57,-2688.53 7683.29,-2671.36 7619.57,-2589.02 7601.13,-2566.31 7567.29,-2467.84 7520.85,-2332.71 7268.54,-1352.49 7292.29,-1211.59"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge171" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6632.29,-3157.96C6542.02,-3121.94 6549.4,-3063.52 6462.29,-3020.43 6401.61,-2990.41 6375.08,-3014.21 6314.29,-2984.43 6254.08,-2954.93 6248.23,-2932.83 6196.29,-2890.44 6098,-2810.23 6076.33,-2786.64 5977.29,-2707.36 5956.74,-2690.92 5949.92,-2688.88 5930.29,-2671.36 5896.38,-2641.13 5895.24,-2625.6 5859.29,-2597.83 5833.46,-2577.88 5819.49,-2583.72 5795.29,-2561.83 5757.44,-2527.58 5755.97,-2511.36 5729.29,-2467.84 5586.54,-2235.02 5603.39,-2144.82 5441.29,-1925.03 5275.66,-1700.47 5054.29,-1709.7 5054.29,-1430.67 5054.29,-1430.67 5054.29,-1430.67 5054.29,-873.19 5054.29,-803.92 5096.21,-733.26 5127.57,-690.1"/>
<polygon fill="#db4905" stroke="black" points="5130.24,-692.39 5133.39,-682.27 5124.62,-688.22 5130.24,-692.39"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_restore -->
<g id="edge172" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_restore</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.87,-3264.42C7765.44,-3257.05 7447.14,-3237.94 7181.29,-3223.95 7013.55,-3215.12 6590.2,-3224.62 6426.29,-3187.95 6319.73,-3164.11 6294.15,-3148.05 6199.29,-3093.97 6151.98,-3067 6147.51,-3049.22 6101.29,-3020.43 5871.47,-2877.23 5191.64,-2673.32 5015.29,-2467.84 4841.21,-2265.01 4652.29,-1588.42 4652.29,-1321.13 4652.29,-1321.13 4652.29,-1321.13 4652.29,-1209.59 4652.29,-1144.46 4663.46,-1122 4633.29,-1064.28 4474.73,-761 3835.64,-802.11 4063.29,-546.57"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_search -->
<g id="edge173" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.48,-3265.9C7692.15,-3259.82 6977.3,-3237.8 6388.29,-3223.95 5542.59,-3204.06 5330.47,-3223.47 4485.29,-3187.95 4164.45,-3174.46 3358.36,-3156.04 3043.29,-3093.97 2942.55,-3074.12 2925,-3040.42 2824.29,-3020.43 2593.14,-2974.54 2519.86,-3055.86 2295.29,-2984.43 2248.15,-2969.43 2246.32,-2944.56 2200.29,-2926.44 2125.99,-2897.21 2098.36,-2920.24 2024.29,-2890.44 1988.93,-2876.22 1769.66,-2721.53 1734.29,-2707.36 1658.95,-2677.21 1617.28,-2723.73 1555.29,-2671.36 1536.69,-2655.66 1241.29,-1877.61 1241.29,-1853.27 1241.29,-1853.27 1241.29,-1853.27 1241.29,-1428.67 1241.29,-1283.4 1137.9,-1214.96 1229.29,-1102.05"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge174" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.34,-3265.58C7665.91,-3257.09 6800.14,-3221.89 6683.29,-3187.95 6658.46,-3180.74 6656.74,-3168.36 6632.29,-3159.96"/>
<path fill="none" stroke="black" d="M6632.29,-3157.96C6476.95,-3104.6 6440.77,-3083.89 6289.29,-3020.43 6220.55,-2991.63 6200.84,-2989.97 6134.29,-2956.43"/>
<path fill="none" stroke="black" d="M6134.29,-2954.43C5920.87,-2834.9 5856.79,-2819.7 5662.29,-2671.36 5590.31,-2616.47 4531.24,-1627.35 4470.29,-1560.42 4324.22,-1400.01 4308.78,-1342.44 4172.29,-1173.82 4032.79,-1001.48 3963.03,-983.96 3849.29,-793.64 3840.53,-778.99 3846.85,-770.43 3835.29,-757.87"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge175" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.5,-3264.51C7788.36,-3257.23 7567.44,-3233.37 7398.29,-3159.96"/>
<path fill="none" stroke="black" d="M7398.29,-3157.96C7370.55,-3145.92 7364.17,-3141.65 7336.29,-3129.97 7295.41,-3112.84 7279.08,-3120.11 7243.29,-3093.97 7166.07,-3037.56 7177.7,-2992.21 7108.29,-2926.44 7047.84,-2869.17 7027.41,-2860.2 6956.29,-2816.9 6926.07,-2798.51 6911.3,-2804.88 6885.29,-2780.9 6876.74,-2773.03 6666.29,-2435.92 6666.29,-2424.3 6666.29,-2424.3 6666.29,-2424.3 6666.29,-2297.2 6666.29,-2210.6 6635.37,-2193.2 6619.29,-2108.11 6607.19,-2044.12 6600.29,-2027.94 6600.29,-1962.8 6600.29,-1962.8 6600.29,-1962.8 6600.29,-873.19 6600.29,-671.17 6365.33,-779.68 6172.29,-720.1 6111.72,-701.41 6092.27,-709.71 6034.29,-684.1 6030.52,-682.44 6026.73,-680.54 6022.98,-678.49"/>
<polygon fill="#db4905" stroke="black" points="6024.95,-675.59 6014.55,-673.57 6021.43,-681.63 6024.95,-675.59"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge176" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.37,-3265.87C7674.81,-3258.87 6871.37,-3229.75 6766.29,-3187.95 6705.27,-3163.67 6701.25,-3137.72 6652.29,-3093.97 6617.24,-3062.65 6617.24,-3043.49 6576.29,-3020.43 6521.43,-2989.53 6497.76,-3007.76 6439.29,-2984.43 6358.74,-2952.28 6337.36,-2942.87 6268.29,-2890.44 6231.85,-2862.79 6228.9,-2848.98 6196.29,-2816.9 6179.7,-2800.59 6175.09,-2796.99 6158.29,-2780.9 6124.34,-2748.4 6120.93,-2734.12 6082.29,-2707.36 6051.56,-2686.09 6037.02,-2692.64 6006.29,-2671.36 5967.65,-2644.61 5969.48,-2623.77 5930.29,-2597.83 5896.08,-2575.18 5877.11,-2587.72 5845.29,-2561.83 5805.9,-2529.77 5805.13,-2512.14 5780.29,-2467.84 5677.26,-2284.14 5674.95,-2226.55 5588.29,-2034.57 5444.7,-1716.49 5260.29,-1670.12 5260.29,-1321.13 5260.29,-1321.13 5260.29,-1321.13 5260.29,-873.19 5260.29,-723.16 5480.71,-671.48 5588.42,-655.18"/>
<polygon fill="#db4905" stroke="black" points="5588.84,-658.65 5598.23,-653.75 5587.83,-651.73 5588.84,-658.65"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_sign -->
<g id="edge177" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7930.29,-3056.2C7903.86,-3020.59 7930.29,-3000.77 7930.29,-2956.43"/>
<path fill="none" stroke="black" d="M7930.29,-2954.43C7930.29,-2906.99 7902.49,-2901.01 7892.29,-2854.67"/>
<path fill="none" stroke="black" d="M7892.29,-2852.67C7846.13,-2642.99 7674.55,-2669.29 7600.29,-2467.84 7555.85,-2347.32 7558.29,-2310.34 7558.29,-2181.88 7558.29,-2181.88 7558.29,-2181.88 7558.29,-990.51 7558.29,-885.75 7652.29,-846.41 7596.29,-757.87"/>
<path fill="none" stroke="black" d="M7596.29,-755.87C7545.97,-688.02 7495.14,-723.26 7420.29,-684.1 7416.8,-682.28 7413.25,-680.3 7409.73,-678.23"/>
<polygon fill="#db4905" stroke="black" points="7411.56,-675.25 7401.19,-673.04 7407.92,-681.23 7411.56,-675.25"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status -->
<g id="edge178" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.68,-3265.13C7608.33,-3252.09 6276.19,-3189.65 6271.29,-3187.95 6240.99,-3177.45 6064.83,-3035.04 6036.29,-3020.43 5992,-2997.74 5976.87,-3001.92 5930.29,-2984.43 5827.68,-2945.9 5803.26,-2933.08 5702.29,-2890.44 5532.78,-2818.87 5082.28,-2681.23 4942.29,-2561.83 4934.79,-2555.43 4561.29,-1972.66 4561.29,-1962.8 4561.29,-1962.8 4561.29,-1962.8 4561.29,-1851.27 4561.29,-1592.37 4158.29,-1689.56 4158.29,-1430.67 4158.29,-1430.67 4158.29,-1430.67 4158.29,-1319.13 4158.29,-1270.75 3570.92,-738.76 3526.29,-720.1 3302.88,-626.74 2668.55,-755.83 2437.29,-684.1 2433.01,-682.78 2428.74,-681.03 2424.58,-679.02"/>
<polygon fill="#db4905" stroke="black" points="2426.29,-675.97 2415.83,-674.29 2422.96,-682.13 2426.29,-675.97"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge179" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.24,-3266.39C8230.8,-3261.17 9292.75,-3238.55 10163.29,-3223.95 10449.39,-3219.15 12454.05,-3220.92 12738.29,-3187.95 12857.19,-3174.16 12882.8,-3146.93 13001.29,-3129.97 13236.32,-3096.31 13302.5,-3145.4 13534.29,-3093.97 13622.69,-3074.35 13638.81,-3050.3 13724.29,-3020.43 13751.79,-3010.81 14697.03,-2714.44 14725.29,-2707.36 14808.66,-2686.5 14843.93,-2719.28 14915.29,-2671.36 15147.84,-2515.21 15111.29,-2352.46 15111.29,-2072.34 15111.29,-2072.34 15111.29,-2072.34 15111.29,-1530.43 15111.29,-1384.75 15035.29,-1357.26 15035.29,-1211.59 15035.29,-1211.59 15035.29,-1211.59 15035.29,-1100.05 15035.29,-1034.59 15048.28,-1019.26 15059.29,-954.74 15065.32,-919.35 15073.29,-911.09 15073.29,-875.19"/>
<path fill="none" stroke="black" d="M15073.29,-873.19C15070.63,-789.81 14995.3,-719.07 14943.78,-680.26"/>
<polygon fill="#db4905" stroke="black" points="14946.13,-677.64 14936,-674.52 14941.97,-683.27 14946.13,-677.64"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge180" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.31,-3266.06C7528.77,-3256.01 5409.75,-3196.15 5344.29,-3187.95 5226.38,-3173.18 5200.97,-3146.42 5083.29,-3129.97 4815.64,-3092.54 4743.57,-3133.89 4476.29,-3093.97 4338.81,-3073.43 4310.13,-3038.42 4172.29,-3020.43 4083.52,-3008.83 2639.57,-3027.85 2561.29,-2984.43 2534.34,-2969.48 2547.85,-2945.05 2523.29,-2926.44 2480.93,-2894.36 2457.37,-2913.05 2409.29,-2890.44 2354.72,-2864.79 2350.86,-2840.3 2295.29,-2816.9 2228.91,-2788.96 2196.78,-2821.5 2137.29,-2780.9 2104.64,-2758.63 2120.76,-2728.38 2087.29,-2707.36 1995.2,-2649.54 1916.3,-2753.72 1845.29,-2671.36 1823.94,-2646.61 1844.32,-2630.5 1845.29,-2597.83 1854.63,-2282.39 1869.18,-2204.09 1887.29,-1889.03 1890.9,-1826.2 1912.05,-807.87 1950.29,-757.87"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge181" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7920.29,-2633.6C7864.86,-2439.04 7864.29,-2384.18 7864.29,-2181.88 7864.29,-2181.88 7864.29,-2181.88 7864.29,-1960.8 7864.29,-1851.83 7898.17,-1817.6 7978.29,-1743.73"/>
<path fill="none" stroke="black" d="M7978.29,-1741.73C8017.57,-1702.09 8936.1,-1486.39 8933.29,-1430.67"/>
<path fill="none" stroke="black" d="M8933.29,-1428.67C8827.16,-802.79 7935.56,-1335.51 7672.29,-757.87"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge182" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.48,-3266.05C7692.13,-3260.51 6977.24,-3240.18 6388.29,-3223.95 5795.85,-3207.62 5647.12,-3219.35 5055.29,-3187.95 4526.82,-3159.91 4395.83,-3135.93 3868.29,-3093.97 3459.39,-3061.43 3357.3,-3051.47 2948.29,-3020.43 2836.99,-3011.98 2553.43,-3018.97 2447.29,-2984.43 2400.97,-2969.35 2398.98,-2945.82 2354.29,-2926.44 2297.31,-2901.74 2272.81,-2921.93 2219.29,-2890.44 2180.13,-2867.41 2187.95,-2839.06 2148.29,-2816.9 2083.14,-2780.51 2055.76,-2802.35 1984.29,-2780.9 1854.31,-2741.9 1793.08,-2769.43 1699.29,-2671.36 1511.06,-2474.57 1457.29,-2491.89 1457.29,-1430.67 1457.29,-1430.67 1457.29,-1430.67 1457.29,-873.19 1457.29,-848.21 1433.79,-656.82 1457.29,-648.34"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_update -->
<g id="edge183" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.32,-3267.33C7698.26,-3266.18 7044.15,-3257.18 6849.29,-3187.95 6806.89,-3172.88 6805.2,-3152.56 6766.29,-3129.97 6733.97,-3111.2 6717.17,-3119.93 6690.29,-3093.97 6663.83,-3068.4 6680.1,-3044.51 6652.29,-3020.43 6615.31,-2988.41 6592.55,-3005.23 6548.29,-2984.43 6418.42,-2923.39 6398.63,-2884.94 6272.29,-2816.9 6239.38,-2799.18 6223.17,-2806.87 6196.29,-2780.9 6169.83,-2755.34 6182.31,-2735.23 6158.29,-2707.36 6131.1,-2675.84 6043.54,-2616.41 6006.29,-2597.83 5957.98,-2573.73 5932.01,-2596.07 5890.29,-2561.83 5838.98,-2519.72 5688.29,-2195.2 5688.29,-2072.34 5688.29,-2072.34 5688.29,-2072.34 5688.29,-1741.73 5688.29,-1503.7 5612.29,-1449.61 5612.29,-1211.59 5612.29,-1211.59 5612.29,-1211.59 5612.29,-1100.05 5612.29,-994.56 5635.29,-966.4 5688.29,-875.19"/>
<path fill="none" stroke="black" d="M5688.29,-873.19C5712.37,-828.13 5751.23,-840.64 5771.29,-793.64 5784.74,-762.12 5780.07,-723.36 5772.68,-693.8"/>
<polygon fill="#db4905" stroke="black" points="5776.13,-693.15 5770.14,-684.41 5769.37,-694.98 5776.13,-693.15"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_users -->
<g id="edge184" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.24,-3266.42C8230.8,-3261.34 9292.76,-3239.24 10163.29,-3223.95 10677.05,-3214.92 11962.56,-3221.7 12475.29,-3187.95 12697.63,-3173.31 12751.55,-3151.98 12973.29,-3129.97 13167.66,-3110.67 13220.02,-3133.55 13411.29,-3093.97 13444.11,-3087.17 14521.55,-2714.56 14554.29,-2707.36 14627.85,-2691.2 14837.48,-2724.07 14891.29,-2671.36 14934.99,-2628.56 14903.64,-2313.97 14903.29,-2299.2"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge185" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.03,-3267.1C7652.07,-3264.99 6662.2,-3252.48 5853.29,-3187.95 5238.73,-3138.92 5091.27,-3063.77 4476.29,-3020.43 4273.53,-3006.13 2841.08,-3045.74 2647.29,-2984.43 2603.34,-2970.52 2602.53,-2947.04 2561.29,-2926.44 2517.53,-2904.59 2495.84,-2920.54 2457.29,-2890.44 2426.52,-2866.42 2439.45,-2841.68 2409.29,-2816.9 2308.58,-2734.18 2263.37,-2740.34 2137.29,-2707.36 2077.02,-2691.6 1900.41,-2718.16 1859.29,-2671.36 1837.71,-2646.81 1857.26,-2630.45 1859.29,-2597.83 1870.87,-2411.88 1897.89,-2367.7 1911.29,-2181.88"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge186" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.24,-3266.37C8230.8,-3261.03 9292.74,-3237.98 10163.29,-3223.95 10793.92,-3213.78 12372.27,-3234.27 13001.29,-3187.95 13193.17,-3173.82 13239.46,-3154.54 13430.29,-3129.97 13560.85,-3113.15 13595.3,-3120.28 13724.29,-3093.97 13804.28,-3077.65 14352.7,-2915.85 14430.29,-2890.44 14520.29,-2860.97 14541.14,-2848.89 14630.29,-2816.9 14769.01,-2767.13 14802.16,-2749.86 14943.29,-2707.36 15005.63,-2688.59 15032.07,-2708.88 15085.29,-2671.36 15100.93,-2660.33 15098.41,-2651.35 15109.29,-2635.6"/>
<path fill="none" stroke="black" d="M15109.29,-2633.6C15149.53,-2567.58 15199.82,-2376.32 15205.29,-2299.2"/>
<path fill="none" stroke="black" d="M15205.29,-2297.2C15203.73,-2274.4 15199.86,-2249.34 15196.02,-2228.42"/>
<polygon fill="#db4905" stroke="black" points="15199.49,-2227.92 15194.19,-2218.75 15192.61,-2229.23 15199.49,-2227.92"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_web -->
<g id="edge187" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.26,-3265.86C8178.71,-3259.42 8848.3,-3233.96 9056.29,-3187.95 9126.88,-3172.33 9137.38,-3144.09 9208.29,-3129.97 9276.09,-3116.45 10393.76,-3130.77 10452.29,-3093.97 10483.43,-3074.38 10471.09,-3051.81 10490.29,-3020.43 10527.36,-2959.83 10545.45,-2950.56 10583.29,-2890.44 10587.91,-2883.1 10881.51,-2350.97 10884.29,-2342.75 10907.39,-2274.25 10908.29,-2254.17 10908.29,-2181.88 10908.29,-2181.88 10908.29,-2181.88 10908.29,-544.57 10908.29,-275.54 11665.09,-526.94 11476.29,-335.27"/>
<path fill="none" stroke="black" d="M11476.29,-333.27C11290.85,-269.81 8187.47,-231.77 7720.83,-226.39"/>
<polygon fill="#db4905" stroke="black" points="7720.91,-222.89 7710.87,-226.28 7720.83,-229.89 7720.91,-222.89"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_lock -->
<g id="edge188" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.24,-3266.49C8230.81,-3261.69 9292.79,-3240.72 10163.29,-3223.95 11006.39,-3207.7 11218.01,-3228.67 12060.29,-3187.95 12127.52,-3184.7 13202.51,-3108.24 13268.29,-3093.97 13481.96,-3047.58 14004.41,-2863.44 14188.29,-2745.13"/>
<path fill="none" stroke="black" d="M14188.29,-2743.13C14204.72,-2733.31 14195.92,-2717.3 14212.29,-2707.36 14335.78,-2632.43 14411.8,-2746.3 14535.29,-2671.36 14551.65,-2661.43 14546,-2649.38 14559.29,-2635.6"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge189" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.48,-3266.05C7692.13,-3260.51 6977.24,-3240.18 6388.29,-3223.95 5795.85,-3207.62 5647.05,-3220.63 5055.29,-3187.95 4746.24,-3170.88 4669.74,-3155.67 4361.29,-3129.97 3775.52,-3081.15 3629.56,-3062.79 3043.29,-3020.43 2783.03,-3001.62 2712.89,-3036.91 2457.29,-2984.43 2382.38,-2969.04 2369.61,-2944.46 2295.29,-2926.44 2177.21,-2897.81 2140.89,-2924.61 2024.29,-2890.44 1950.34,-2868.77 1937.09,-2849.53 1867.29,-2816.9 1728.67,-2752.11 1690.49,-2743.01 1555.29,-2671.36 1415.14,-2597.1 1255.64,-2497.41 1182.22,-2450.62"/>
<polygon fill="#db4905" stroke="black" points="1184.45,-2447.89 1174.14,-2445.46 1180.68,-2453.79 1184.45,-2447.89"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_auth -->
<g id="edge190" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.24,-3267.51C8230.76,-3267.18 9292.3,-3261.4 10158.29,-3187.95 10351.32,-3171.58 10397.22,-3145.9 10590.29,-3129.97 10717.92,-3119.43 11624.34,-3143.85 11742.29,-3093.97 11785.58,-3075.66 11779.88,-3047.52 11818.29,-3020.43 11916.36,-2951.26 12220.74,-2868.95 12302.29,-2780.9 12367.76,-2710.22 12412.25,-2459.83 12464.29,-2378.75 12601.83,-2164.46 12693.09,-2156.58 12858.29,-1962.8"/>
<path fill="none" stroke="black" d="M12858.29,-1960.8C12869.54,-1945.31 12869.32,-1939.12 12882.29,-1925.03 12916.95,-1887.4 12960.98,-1903.16 12972.29,-1853.27"/>
<path fill="none" stroke="black" d="M12972.29,-1851.27C12976.9,-1830.91 12982.61,-1808.56 12987.67,-1789.53"/>
<polygon fill="#db4905" stroke="black" points="12991.04,-1790.49 12990.25,-1779.92 12984.28,-1788.67 12991.04,-1790.49"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge191" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.45,-3266.74C8334.3,-3261.51 10324.42,-3229.78 10590.29,-3187.95 10681.71,-3173.56 10698.9,-3144.58 10790.29,-3129.97 11016,-3093.87 11595.89,-3146.8 11818.29,-3093.97 12028.7,-3043.97 12088.41,-3021.71 12260.29,-2890.44 12621.22,-2614.8 12927.1,-2143.65 13013.75,-2003.36"/>
<polygon fill="#db4905" stroke="black" points="13016.55,-2005.48 13018.81,-1995.13 13010.59,-2001.81 13016.55,-2005.48"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge192" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.23,-3266.31C8264.06,-3259.86 9606.88,-3227.68 10704.29,-3187.95 11294.69,-3166.57 11441.95,-3152.96 12032.29,-3129.97 12090.67,-3127.69 13033.12,-3123.9 13083.29,-3093.97 13115.8,-3074.57 13106.11,-3052.46 13126.29,-3020.43 13163.47,-2961.4 13184.54,-2953.55 13214.29,-2890.44 13272.08,-2767.83 13255.72,-2725.84 13300.29,-2597.83 13315.1,-2555.28 13313.85,-2541.69 13338.29,-2503.84 13364.81,-2462.77 13424.19,-2472.18 13414.29,-2424.3"/>
<path fill="none" stroke="black" d="M13414.29,-2422.3C13399.84,-2377.47 13369.94,-2382.24 13344.29,-2342.75 13332.69,-2324.89 13333.22,-2318.53 13324.29,-2299.2"/>
<path fill="none" stroke="black" d="M13324.29,-2297.2C13302.79,-2250.67 13331.09,-2232.68 13324.29,-2181.88"/>
<path fill="none" stroke="black" d="M13324.29,-2179.88C13311.48,-2084.26 13317.53,-2059.05 13324.29,-1962.8"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge193" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7978.29,-2422.3C8002.85,-2167.33 8343.28,-2026.07 8477.99,-1979.9"/>
<polygon fill="#db4905" stroke="black" points="8479.06,-1983.23 8487.41,-1976.71 8476.82,-1976.6 8479.06,-1983.23"/>
</g>
<!-- ahriman_core_database_migrations -->
<g id="node59" class="node">
<title>ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#88523a" stroke="black" cx="10574.29" cy="-2423.3" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="10574.29" y="-2437.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10574.29" y="-2426.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10574.29" y="-2415.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="10574.29" y="-2404.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">migrations</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_database_migrations -->
<g id="edge194" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8548.29,-3157.96C8562.02,-3155.77 8550.67,-3137.61 8562.29,-3129.97 8620.57,-3091.6 9120.77,-3107.19 9189.29,-3093.97 9290.1,-3074.51 9310.43,-3051.51 9408.29,-3020.43 9708.54,-2925.04 9781.11,-2891.12 10087.29,-2816.9 10172.09,-2796.35 10203.52,-2822.39 10280.29,-2780.9 10415.06,-2708.07 10512.34,-2545.52 10553.08,-2467.59"/>
<polygon fill="#db4905" stroke="black" points="10556.06,-2469.45 10557.53,-2458.96 10549.84,-2466.24 10556.06,-2469.45"/>
</g>
<!-- ahriman_core_database_sqlite -->
<g id="node67" class="node">
<title>ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="10724.29" cy="-2298.2" rx="41.94" ry="36.54"/>
<text text-anchor="middle" x="10724.29" y="-2312.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10724.29" y="-2301.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10724.29" y="-2290.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="10724.29" y="-2279.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sqlite</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_database_sqlite -->
<g id="edge195" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7987.87,-3264.9C8085.86,-3258.84 8307.63,-3240.09 8486.29,-3187.95 8515.31,-3179.48 8518.45,-3164.83 8548.29,-3159.96"/>
<path fill="none" stroke="black" d="M8548.29,-3157.96C8562.02,-3155.71 8550.85,-3137.89 8562.29,-3129.97 8625.1,-3086.44 8829.46,-3109.5 8904.29,-3093.97 9131.45,-3046.8 9683.48,-2863.51 9900.29,-2780.9 10121.69,-2696.55 10201.98,-2710.71 10386.29,-2561.83 10464.93,-2498.3 10441.08,-2440.29 10521.29,-2378.75 10566.6,-2343.99 10629,-2322.57 10672.62,-2310.84"/>
<polygon fill="#db4905" stroke="black" points="10673.3,-2314.28 10682.1,-2308.38 10671.54,-2307.51 10673.3,-2314.28"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge196" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.48,-3265.42C7659.46,-3255.99 6743.54,-3216.5 6618.29,-3187.95 6385.16,-3134.81 6340.51,-3077.56 6120.29,-2984.43 5725.34,-2817.39 5642.38,-2735.57 5236.29,-2597.83 5173,-2576.36 5152.88,-2585.25 5090.29,-2561.83 5004.66,-2529.78 4981.45,-2521.32 4907.29,-2467.84 4802.45,-2392.25 4698.97,-2279.46 4647.99,-2220.67"/>
<polygon fill="#db4905" stroke="black" points="4650.74,-2218.49 4641.55,-2213.21 4645.43,-2223.06 4650.74,-2218.49"/>
</g>
<!-- ahriman_core_gitremote_remote_pull_trigger -->
<g id="node85" class="node">
<title>ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="6014.29" cy="-2071.34" rx="70.01" ry="36.54"/>
<text text-anchor="middle" x="6014.29" y="-2085.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6014.29" y="-2074.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6014.29" y="-2063.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="6014.29" y="-2052.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_pull_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull_trigger -->
<g id="edge197" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.47,-3264.83C7778.63,-3258.35 7519.45,-3238.45 7308.29,-3187.95 7233.91,-3170.16 7220.38,-3148.9 7146.29,-3129.97 7046.89,-3104.57 7001.47,-3154.01 6918.29,-3093.97 6888.46,-3072.43 6903.92,-3048.62 6880.29,-3020.43 6858.19,-2994.06 6787.62,-2942.67 6757.29,-2926.44 6713.79,-2903.17 6689.63,-2922.68 6652.29,-2890.44 6624.44,-2866.4 6642.1,-2840.98 6614.29,-2816.9 6577.31,-2784.89 6552.53,-2805.56 6510.29,-2780.9 6446.78,-2743.83 6440.28,-2721.29 6386.29,-2671.36 6351.78,-2639.46 6351.52,-2620.39 6310.29,-2597.83 6249.39,-2564.5 6222.21,-2588.91 6158.29,-2561.83 6086.89,-2531.58 6048.53,-2535.86 6011.29,-2467.84 5949.68,-2355.33 5979.58,-2196.42 6000.25,-2118.74"/>
<polygon fill="#db4905" stroke="black" points="6003.56,-2119.91 6002.82,-2109.34 5996.8,-2118.06 6003.56,-2119.91"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge198" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6134.29,-2954.43C6005.38,-2890.65 6049.53,-2779.82 5925.29,-2707.36 5851.04,-2664.07 5804.92,-2721.75 5735.29,-2671.36 5613.61,-2583.32 5449.63,-2220.03 5422.29,-2072.34"/>
</g>
<!-- ahriman_core_gitremote_remote_push_trigger -->
<g id="node87" class="node">
<title>ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="5942.29" cy="-1852.27" rx="74.49" ry="36.54"/>
<text text-anchor="middle" x="5942.29" y="-1866.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5942.29" y="-1855.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5942.29" y="-1844.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="5942.29" y="-1833.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_push_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge199" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.18,-3266.57C7759.38,-3263.38 7420.73,-3249.3 7146.29,-3187.95 7085.11,-3174.27 6933.59,-3126.96 6880.29,-3093.97 6840.32,-3069.23 6840.85,-3049.96 6804.29,-3020.43 6788.48,-3007.65 6518.11,-2826.68 6500.29,-2816.9 6465.39,-2797.76 6452.95,-2800.46 6418.29,-2780.9 6295.19,-2711.47 6288.44,-2652.91 6158.29,-2597.83 6079.14,-2564.33 6027.48,-2624.14 5968.29,-2561.83 5938.94,-2530.93 5916.29,-2224.49 5916.29,-2181.88 5916.29,-2181.88 5916.29,-2181.88 5916.29,-2070.34 5916.29,-2011.28 5925.89,-1943.83 5933.43,-1899.99"/>
<polygon fill="#db4905" stroke="black" points="5936.84,-1900.78 5935.13,-1890.32 5929.95,-1899.57 5936.84,-1900.78"/>
</g>
<!-- ahriman_core_log_http_log_handler -->
<g id="node90" class="node">
<title>ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15735" stroke="black" cx="10158.29" cy="-2853.67" rx="62.45" ry="36.54"/>
<text text-anchor="middle" x="10158.29" y="-2867.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10158.29" y="-2856.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10158.29" y="-2845.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="10158.29" y="-2834.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">http_log_handler</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_log_http_log_handler -->
<g id="edge200" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7987.33,-3262.64C8093.65,-3251.99 8349.66,-3224.58 8562.29,-3187.95 8681.53,-3167.4 8708.45,-3146.71 8828.29,-3129.97 9079.68,-3094.83 9148.74,-3140.42 9398.29,-3093.97 9665.22,-3044.27 9969.6,-2930.11 10097.08,-2879.55"/>
<polygon fill="#db4905" stroke="black" points="10098.37,-2882.81 10106.37,-2875.86 10095.78,-2876.3 10098.37,-2882.81"/>
</g>
<!-- ahriman_core_log_log -->
<g id="node92" class="node">
<title>ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15735" stroke="black" cx="8516.29" cy="-2744.13" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="8516.29" y="-2758.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8516.29" y="-2747.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8516.29" y="-2736.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="8516.29" y="-2725.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_log_log -->
<g id="edge201" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7968.29,-2852.67C8041.05,-2780.44 8235.28,-2827.5 8426.29,-2780.9 8441.39,-2777.22 8457.32,-2771.53 8471.51,-2765.77"/>
<polygon fill="#db4905" stroke="black" points="8472.71,-2769.06 8480.58,-2761.97 8470.01,-2762.6 8472.71,-2769.06"/>
</g>
<!-- ahriman_core_report_console -->
<g id="node94" class="node">
<title>ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#82472b" stroke="black" cx="8158.29" cy="-2298.2" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="8158.29" y="-2312.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8158.29" y="-2301.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8158.29" y="-2290.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="8158.29" y="-2279.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">console</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_console -->
<g id="edge202" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7930.29,-2954.43C7930.29,-2906.99 7934.62,-2888.1 7968.29,-2854.67"/>
<path fill="none" stroke="black" d="M7968.29,-2852.67C7986.34,-2834.75 8122.79,-2448.61 8130.29,-2424.3"/>
</g>
<!-- ahriman_core_report_email -->
<g id="node95" class="node">
<title>ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="7760.29" cy="-2071.34" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="7760.29" y="-2085.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7760.29" y="-2074.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7760.29" y="-2063.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="7760.29" y="-2052.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">email</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_email -->
<g id="edge203" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7892.29,-2852.67C7880.83,-2805.4 7933.1,-2682.52 7920.29,-2635.6"/>
<path fill="none" stroke="black" d="M7920.29,-2633.6C7895.43,-2560.57 7654.72,-2534.15 7615.29,-2467.84 7595.05,-2433.81 7608.4,-2417.74 7615.29,-2378.75 7621.83,-2341.69 7649.45,-2336.47 7644.29,-2299.2"/>
<path fill="none" stroke="black" d="M7644.29,-2297.2C7634.2,-2246.95 7608.62,-2218.69 7644.29,-2181.88"/>
</g>
<!-- ahriman_core_report_html -->
<g id="node96" class="node">
<title>ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#82472b" stroke="black" cx="9070.29" cy="-2071.34" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="9070.29" y="-2085.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9070.29" y="-2074.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9070.29" y="-2063.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="9070.29" y="-2052.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">html</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_html -->
<g id="edge204" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8082.29,-3056.2C8114.54,-3023 8379.97,-2833.23 8423.29,-2816.9 8492.11,-2790.96 8692.81,-2824.17 8752.29,-2780.9 8811.06,-2738.15 8996.4,-2264.82 9053.42,-2116.51"/>
<polygon fill="#db4905" stroke="black" points="9056.6,-2118 9056.92,-2107.41 9050.06,-2115.49 9056.6,-2118"/>
</g>
<!-- ahriman_core_report_jinja_template -->
<g id="node97" class="node">
<title>ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8b3c18" stroke="black" cx="9528.29" cy="-2180.88" rx="54.39" ry="36.54"/>
<text text-anchor="middle" x="9528.29" y="-2194.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9528.29" y="-2183.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9528.29" y="-2172.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="9528.29" y="-2161.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">jinja_template</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge205" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7977.33,-3250.43C8112.22,-3192.31 8560.86,-2993.8 8904.29,-2780.9 8973.24,-2738.16 8991.76,-2727.53 9050.29,-2671.36 9171.45,-2555.1 9170.8,-2497.73 9289.29,-2378.75 9351.83,-2315.95 9432.95,-2252.38 9482.77,-2215.08"/>
<polygon fill="#db4905" stroke="black" points="9484.86,-2217.89 9490.79,-2209.11 9480.68,-2212.28 9484.86,-2217.89"/>
</g>
<!-- ahriman_core_report_report -->
<g id="node98" class="node">
<title>ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913307" stroke="black" cx="8466.29" cy="-2180.88" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="8466.29" y="-2194.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8466.29" y="-2183.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8466.29" y="-2172.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="8466.29" y="-2161.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_report -->
<g id="edge206" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7892.29,-2852.67C7891.5,-2848.31 8107.81,-2256.4 8111.29,-2253.65 8164.47,-2211.58 8350.84,-2241.56 8414.29,-2217.65 8418.91,-2215.91 8423.52,-2213.67 8427.97,-2211.17"/>
<polygon fill="#db4905" stroke="black" points="8429.46,-2214.36 8436.14,-2206.14 8425.79,-2208.4 8429.46,-2214.36"/>
</g>
<!-- ahriman_core_report_report_trigger -->
<g id="node99" class="node">
<title>ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#82472b" stroke="black" cx="6680.29" cy="-2071.34" rx="52.15" ry="36.54"/>
<text text-anchor="middle" x="6680.29" y="-2085.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6680.29" y="-2074.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6680.29" y="-2063.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="6680.29" y="-2052.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge207" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7398.29,-3157.96C7350.03,-3136.62 7336.19,-3130.68 7298.29,-3093.97 7271.48,-3067.99 7139.28,-2837.7 7108.29,-2816.9 7045.24,-2774.6 7002.02,-2826.47 6941.29,-2780.9 6867.3,-2725.39 6901.2,-2669.15 6842.29,-2597.83 6826.2,-2578.35 6816.04,-2579.8 6798.29,-2561.83 6760.73,-2523.81 6743.65,-2517.25 6723.29,-2467.84 6697.73,-2405.83 6686.2,-2210.24 6682.13,-2119.47"/>
<polygon fill="#db4905" stroke="black" points="6685.63,-2119.51 6681.7,-2109.67 6678.64,-2119.81 6685.63,-2119.51"/>
</g>
<!-- ahriman_core_report_telegram -->
<g id="node100" class="node">
<title>ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="9550.29" cy="-2071.34" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="9550.29" y="-2085.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9550.29" y="-2074.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9550.29" y="-2063.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="9550.29" y="-2052.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">telegram</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_telegram -->
<g id="edge208" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8396.29,-3157.96C8425.19,-3149.09 8429.69,-3139.78 8458.29,-3129.97 8522.73,-3107.85 8543.47,-3117.8 8607.29,-3093.97 8638.64,-3082.25 9110,-2825.72 9142.29,-2816.9 9211.96,-2797.88 9735.95,-2827.31 9791.29,-2780.9 9855.34,-2727.2 9785.52,-2665.71 9834.29,-2597.83 9851.99,-2573.19 9871.11,-2583.55 9892.29,-2561.83 9986.76,-2464.95 10026.41,-2433.04 10046.29,-2299.2"/>
<path fill="none" stroke="black" d="M10046.29,-2297.2C10050.54,-2246.12 10079.83,-2220.63 10046.29,-2181.88"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository -->
<g id="edge209" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7920.29,-2633.6C7903.51,-2577.4 7927.33,-2559.98 7944.29,-2503.84 7955.41,-2467.04 7971.63,-2462.16 7978.29,-2424.3"/>
<path fill="none" stroke="black" d="M7978.29,-2422.3C7983.57,-2380.39 7942.91,-2381.58 7926.29,-2342.75 7897.83,-2276.3 7902.29,-2254.17 7902.29,-2181.88 7902.29,-2181.88 7902.29,-2181.88 7902.29,-1960.8 7902.29,-1871.74 7962.06,-1858.08 8040.29,-1815.5 8200.82,-1728.1 8769.94,-1659.79 8949.55,-1640.01"/>
<polygon fill="#db4905" stroke="black" points="8949.75,-1643.51 8959.31,-1638.94 8948.99,-1636.55 8949.75,-1643.51"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge210" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7978.29,-3157.96C7963.65,-2970.85 8058.25,-2898.45 8227.29,-2816.9 8326.02,-2769.27 8636.05,-2852.24 8719.29,-2780.9 8740.68,-2762.57 8776.29,-2562.01 8776.29,-2533.83 8776.29,-2533.83 8776.29,-2533.83 8776.29,-2297.2 8776.29,-2197.26 8702.31,-2139.53 8776.29,-2072.34"/>
</g>
<!-- ahriman_core_sign_gpg -->
<g id="node108" class="node">
<title>ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#93401a" stroke="black" cx="9544.29" cy="-2423.3" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="9544.29" y="-2437.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9544.29" y="-2426.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9544.29" y="-2415.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sign.</text>
<text text-anchor="middle" x="9544.29" y="-2404.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gpg</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge211" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7984.92,-3257.93C8068.73,-3240.74 8247.76,-3202.45 8396.29,-3159.96"/>
<path fill="none" stroke="black" d="M8396.29,-3157.96C8430.08,-3148.29 9490.9,-2589.71 9512.29,-2561.83 9532.03,-2536.1 9539.91,-2500.24 9542.92,-2471.59"/>
<polygon fill="#db4905" stroke="black" points="9546.4,-2471.97 9543.77,-2461.71 9539.43,-2471.37 9546.4,-2471.97"/>
</g>
<!-- ahriman_core_spawn -->
<g id="node109" class="node">
<title>ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ae4b1e" stroke="black" cx="11290.29" cy="-2532.83" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="11290.29" y="-2541.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11290.29" y="-2530.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11290.29" y="-2519.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">spawn</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_spawn -->
<g id="edge212" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.33,-3266.48C8234.23,-3261.38 9298.38,-3236.85 9626.29,-3187.95 9729.7,-3172.52 9750.88,-3145.43 9854.29,-3129.97 10019.31,-3105.28 10443.99,-3140.28 10604.29,-3093.97 10929.62,-2999.97 11039.08,-2945.21 11238.29,-2671.36 11259.9,-2641.66 11273.64,-2601.9 11281.54,-2572.77"/>
<polygon fill="#db4905" stroke="black" points="11284.88,-2573.8 11284,-2563.24 11278.11,-2572.05 11284.88,-2573.8"/>
</g>
<!-- ahriman_core_status_client -->
<g id="node111" class="node">
<title>ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#9c3d11" stroke="black" cx="10960.29" cy="-3057.2" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="10960.29" y="-3071.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10960.29" y="-3060.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10960.29" y="-3049.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="10960.29" y="-3038.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">client</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_status_client -->
<g id="edge213" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.42,-3266.52C8253.96,-3261.28 9477.9,-3234.96 9854.29,-3187.95 9978.67,-3172.41 10006.01,-3146.29 10130.29,-3129.97 10423.31,-3091.47 10501.36,-3133.21 10794.29,-3093.97 10834.41,-3088.59 10879.25,-3078.69 10912.2,-3070.67"/>
<polygon fill="#db4905" stroke="black" points="10912.99,-3074.07 10921.86,-3068.28 10911.32,-3067.28 10912.99,-3074.07"/>
</g>
<!-- ahriman_core_status_watcher -->
<g id="node112" class="node">
<title>ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a3b1e" stroke="black" cx="11632.29" cy="-1320.13" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="11632.29" y="-1334.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11632.29" y="-1323.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11632.29" y="-1312.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="11632.29" y="-1301.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">watcher</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_status_watcher -->
<g id="edge214" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.18,-3266.03C8286.33,-3257.4 9800.51,-3212.61 10006.29,-3187.95 10068.43,-3180.5 10081.81,-3163.59 10144.29,-3159.96"/>
<path fill="none" stroke="black" d="M10144.29,-3157.96C10158.17,-3157.15 10146.55,-3137.42 10158.29,-3129.97 10225.69,-3087.14 11539.53,-3151.14 11595.29,-3093.97 11618.11,-3070.57 11596.87,-3053.07 11595.29,-3020.43 11580.6,-2718.17 11543.97,-2645.01 11529.29,-2342.75 11519.17,-2134.39 11522.34,-1884.11 11552.29,-1705.96 11565.64,-1626.56 11584.05,-1610.35 11604.29,-1532.43"/>
</g>
<!-- ahriman_core_status_web_client -->
<g id="node113" class="node">
<title>ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="11266.29" cy="-2423.3" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="11266.29" y="-2437.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11266.29" y="-2426.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11266.29" y="-2415.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="11266.29" y="-2404.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web_client</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_status_web_client -->
<g id="edge215" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.3,-3267.56C8173.47,-3267.18 8827.34,-3260.46 9360.29,-3187.95 9480.18,-3171.63 9506.26,-3145.22 9626.29,-3129.97 9729.97,-3116.78 10478.07,-3150.02 10566.29,-3093.97 10597.34,-3074.23 10582.16,-3049.81 10604.29,-3020.43 10704.87,-2886.87 11021.38,-2609.1 11151.29,-2503.84 11173.88,-2485.54 11200.5,-2466.95 11222.44,-2452.35"/>
<polygon fill="#db4905" stroke="black" points="11224.17,-2455.4 11230.58,-2446.97 11220.31,-2449.56 11224.17,-2455.4"/>
</g>
<!-- ahriman_core_triggers_trigger -->
<g id="node116" class="node">
<title>ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="6058.29" cy="-2423.3" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="6058.29" y="-2437.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6058.29" y="-2426.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6058.29" y="-2415.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers.</text>
<text text-anchor="middle" x="6058.29" y="-2404.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge216" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7886.72,-3264.97C7788.22,-3259.03 7564.48,-3240.44 7384.29,-3187.95 7355.26,-3179.49 7351.58,-3167.43 7322.29,-3159.96"/>
<path fill="none" stroke="black" d="M7322.29,-3157.96C7292.99,-3150.49 7289.07,-3139.21 7260.29,-3129.97 7182.61,-3105.02 7156.95,-3121.88 7080.29,-3093.97 6985.06,-3059.29 6954.73,-3053.2 6880.29,-2984.43 6857.66,-2963.52 6867.51,-2944.13 6842.29,-2926.44 6785.45,-2886.58 6745,-2933.18 6690.29,-2890.44 6661.3,-2867.79 6678.25,-2842.97 6652.29,-2816.9 6627.88,-2792.4 6611.54,-2800.86 6583.29,-2780.9 6485.65,-2711.96 6484.7,-2665.66 6386.29,-2597.83 6356.5,-2577.3 6345.43,-2578.41 6313.29,-2561.83 6238.02,-2522.98 6151.43,-2475.73 6100.99,-2447.94"/>
<polygon fill="#db4905" stroke="black" points="6102.87,-2444.98 6092.42,-2443.22 6099.48,-2451.11 6102.87,-2444.98"/>
</g>
<!-- ahriman_core_triggers_trigger_loader -->
<g id="node117" class="node">
<title>ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#82472b" stroke="black" cx="6205.29" cy="-2423.3" rx="53.07" ry="36.54"/>
<text text-anchor="middle" x="6205.29" y="-2437.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6205.29" y="-2426.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6205.29" y="-2415.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers.</text>
<text text-anchor="middle" x="6205.29" y="-2404.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">trigger_loader</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge217" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7322.29,-3157.96C7292.99,-3150.49 7288.38,-3141.14 7260.29,-3129.97 7214.84,-3111.88 7200.78,-3114.28 7156.29,-3093.97 7127.35,-3080.75 7120.48,-3076.25 7094.29,-3058.2"/>
<path fill="none" stroke="black" d="M7094.29,-3056.2C7040.59,-3019.17 7021.82,-3018.63 6966.29,-2984.43 6927.04,-2960.25 6919.39,-2950.86 6880.29,-2926.44 6797.6,-2874.82 6775.3,-2864.59 6690.29,-2816.9 6661.15,-2800.56 6647.19,-2805.23 6624.29,-2780.9 6562.66,-2715.45 6605.95,-2657.02 6538.29,-2597.83 6498.3,-2562.84 6472.86,-2583.35 6424.29,-2561.83 6348.54,-2528.26 6332.31,-2513.68 6263.29,-2467.84 6258.62,-2464.74 6253.83,-2461.41 6249.09,-2458.01"/>
<polygon fill="#db4905" stroke="black" points="6251.45,-2455.4 6241.31,-2452.34 6247.33,-2461.06 6251.45,-2455.4"/>
</g>
<!-- ahriman_core_upload_github -->
<g id="node119" class="node">
<title>ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#82472b" stroke="black" cx="9117.29" cy="-2180.88" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="9117.29" y="-2194.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9117.29" y="-2183.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9117.29" y="-2172.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="9117.29" y="-2161.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">github</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_github -->
<g id="edge218" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7978.29,-3157.96C7973.29,-3094.1 8040.11,-3106.4 8082.29,-3058.2"/>
<path fill="none" stroke="black" d="M8082.29,-3056.2C8130.23,-3001.4 8125.24,-2971.68 8182.29,-2926.44 8274.48,-2853.34 8309.83,-2848.04 8423.29,-2816.9 8494.21,-2797.44 8690.42,-2820.67 8752.29,-2780.9 8867,-2707.16 8991.84,-2367.91 9066.29,-2253.65 9073.45,-2242.66 9081.55,-2230.97 9089.14,-2220.28"/>
<polygon fill="#db4905" stroke="black" points="9091.79,-2222.59 9094.77,-2212.42 9086.1,-2218.51 9091.79,-2222.59"/>
</g>
<!-- ahriman_core_upload_http_upload -->
<g id="node120" class="node">
<title>ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#914f30" stroke="black" cx="9155.29" cy="-2298.2" rx="47.25" ry="36.54"/>
<text text-anchor="middle" x="9155.29" y="-2312.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9155.29" y="-2301.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9155.29" y="-2290.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="9155.29" y="-2279.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">http_upload</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge219" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7964.04,-3243.83C8030.36,-3185.77 8208.81,-3033.28 8372.29,-2926.44 8458.43,-2870.14 8478.52,-2849.02 8576.29,-2816.9 8683.78,-2781.6 8729.82,-2836.63 8828.29,-2780.9 9006.08,-2680.29 9106.46,-2628.24 9118.29,-2424.3"/>
<path fill="none" stroke="black" d="M9118.29,-2422.3C9116.7,-2395.28 9124.92,-2366.23 9134.01,-2343.14"/>
<polygon fill="#db4905" stroke="black" points="9137.18,-2344.62 9137.78,-2334.05 9130.72,-2341.94 9137.18,-2344.62"/>
</g>
<!-- ahriman_core_upload_rsync -->
<g id="node121" class="node">
<title>ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="6524.29" cy="-2298.2" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="6524.29" y="-2312.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6524.29" y="-2301.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6524.29" y="-2290.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6524.29" y="-2279.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">rsync</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge220" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6866.29,-2852.67C6813.43,-2814.47 6782.72,-2828.65 6738.29,-2780.9 6677.04,-2715.09 6715.75,-2661.5 6652.29,-2597.83 6625.9,-2571.35 6600.34,-2590.44 6576.29,-2561.83 6535.48,-2513.28 6525.58,-2486.42 6538.29,-2424.3"/>
</g>
<!-- ahriman_core_upload_s3 -->
<g id="node122" class="node">
<title>ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#82472b" stroke="black" cx="6808.29" cy="-2298.2" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="6808.29" y="-2312.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6808.29" y="-2301.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6808.29" y="-2290.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6808.29" y="-2279.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">s3</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge221" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7954.75,-3241.1C7966.91,-3219.93 7980.56,-3189.04 7978.29,-3159.96"/>
<path fill="none" stroke="black" d="M7978.29,-3157.96C7972.58,-3084.96 7727.42,-3095.28 7664.29,-3058.2"/>
<path fill="none" stroke="black" d="M7664.29,-3056.2C7449.24,-2929.88 7353.08,-2955.81 7175.29,-2780.9 7148.3,-2754.35 7162.46,-2730.23 7132.29,-2707.36 7081.77,-2669.08 7043.79,-2710.95 6994.29,-2671.36 6965.55,-2648.39 6973.92,-2630.11 6956.29,-2597.83 6913.62,-2519.7 6892.84,-2505.46 6856.29,-2424.3"/>
<path fill="none" stroke="black" d="M6856.29,-2422.3C6842.2,-2397.7 6830.53,-2368.17 6822.22,-2344.19"/>
<polygon fill="#db4905" stroke="black" points="6825.65,-2343.4 6819.13,-2335.04 6819.01,-2345.64 6825.65,-2343.4"/>
</g>
<!-- ahriman_core_upload_upload -->
<g id="node123" class="node">
<title>ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a360f" stroke="black" cx="6770.29" cy="-2423.3" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="6770.29" y="-2437.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6770.29" y="-2426.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6770.29" y="-2415.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6770.29" y="-2404.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload -->
<g id="edge222" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7398.29,-3157.96C7357.31,-3137.42 7204.78,-2841.78 7166.29,-2816.9 7088.59,-2766.7 7025.25,-2847.73 6961.29,-2780.9 6916.25,-2733.85 6988.1,-2681.89 6942.29,-2635.6"/>
<path fill="none" stroke="black" d="M6942.29,-2633.6C6928.69,-2620.12 6932.79,-2610.32 6918.29,-2597.83 6889.97,-2573.43 6869.24,-2587.72 6842.29,-2561.83 6815.63,-2536.21 6796.87,-2498.57 6785.2,-2469.14"/>
<polygon fill="#db4905" stroke="black" points="6788.59,-2468.21 6781.76,-2460.12 6782.05,-2470.71 6788.59,-2468.21"/>
</g>
<!-- ahriman_core_upload_upload_trigger -->
<g id="node124" class="node">
<title>ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#82472b" stroke="black" cx="6394.29" cy="-2071.34" rx="54.39" ry="36.54"/>
<text text-anchor="middle" x="6394.29" y="-2085.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6394.29" y="-2074.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6394.29" y="-2063.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6394.29" y="-2052.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge223" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7094.29,-3056.2C6984.2,-2977.64 6975.67,-2934.21 6866.29,-2854.67"/>
<path fill="none" stroke="black" d="M6866.29,-2852.67C6800.06,-2804.3 6759.57,-2833.07 6696.29,-2780.9 6620.64,-2718.56 6647.07,-2662.37 6573.29,-2597.83 6546.06,-2574.01 6525.4,-2587.86 6500.29,-2561.83 6411.44,-2469.73 6381.78,-2427.16 6382.29,-2299.2"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_models_migration -->
<g id="edge224" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_models_migration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7987.99,-3266.39C8124.78,-3262.67 8512.33,-3247.28 8828.29,-3187.95 8919.25,-3170.87 8936.94,-3144.8 9028.29,-3129.97 9424.3,-3065.64 9529.81,-3118.22 9930.29,-3093.97 10071.38,-3085.42 10237.54,-3070.62 10319.43,-3063.02"/>
<polygon fill="#db4905" stroke="black" points="10319.75,-3066.5 10329.38,-3062.09 10319.1,-3059.53 10319.75,-3066.5"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge225" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.27,-3266.53C8366.76,-3259.3 10744.72,-3213.42 11465.29,-3187.95 11723.65,-3178.81 11788.2,-3175.01 12046.29,-3159.96"/>
<path fill="none" stroke="black" d="M12046.29,-3157.96C12062.65,-3157 12055.52,-3137.07 12070.29,-3129.97 12175.29,-3079.48 13020.51,-3157.32 13118.29,-3093.97 13148.83,-3074.18 13128.97,-3046.56 13154.29,-3020.43 13178.08,-2995.87 13193.93,-3003.54 13222.29,-2984.43 13401.45,-2863.62 13450.68,-2832.83 13594.29,-2671.36 13904.72,-2322.34 13960.47,-2206.29 14150.29,-1779.5 14244.27,-1568.17 14204.87,-1490.73 14307.29,-1283.36 14350.86,-1195.15 14415.05,-1198.53 14434.29,-1102.05"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_views_base -->
<g id="edge226" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10144.29,-3157.96C10158.17,-3157.15 10146.55,-3137.42 10158.29,-3129.97 10226.59,-3086.58 11537.17,-3118.46 11614.29,-3093.97 11678.02,-3073.72 11806.78,-2960.57 11864.29,-2926.44 11954.81,-2872.72 11979.48,-2862.65 12074.29,-2816.9 12109.77,-2799.79 12133.82,-2813.94 12155.29,-2780.9 12173.1,-2753.5 12163.82,-2738.92 12155.29,-2707.36 12150.45,-2689.48 12140.09,-2688.96 12134.29,-2671.36 12110.91,-2600.48 12110.88,-2577.61 12122.29,-2503.84 12159.01,-2266.39 12426.12,-1498.99 12540.29,-1283.36 12554.53,-1256.46 12670.31,-1103.01 12725.38,-1030.48"/>
<polygon fill="#db4905" stroke="black" points="12727.92,-1032.92 12731.19,-1022.84 12722.35,-1028.68 12727.92,-1032.92"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_web -->
<g id="edge227" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7988.32,-3266.35C8194.91,-3261.41 8969.39,-3239.73 9208.29,-3187.95 9278.95,-3172.63 9289.4,-3144.2 9360.29,-3129.97 9483.45,-3105.24 10377.36,-3148.99 10490.29,-3093.97 10496.91,-3090.74 10656.27,-2896.62 10660.29,-2890.44 10680.06,-2860.02 10783.85,-2627.1 10805.29,-2597.83 10818.85,-2579.32 10830.58,-2581.56 10842.29,-2561.83 10885.38,-2489.18 10854.67,-2453.87 10893.29,-2378.75 10902.68,-2360.48 10912.09,-2360.58 10922.29,-2342.75 11063.54,-2095.73 11148.29,-2028.28 11148.29,-1743.73 11148.29,-1743.73 11148.29,-1743.73 11148.29,-1530.43 11148.29,-1424.5 11231.49,-1422.47 11262.29,-1321.13"/>
<path fill="none" stroke="black" d="M11262.29,-1319.13C11283.32,-1222.37 11220.85,-934.29 11300.29,-875.19"/>
</g>
<!-- ahriman_core_configuration_configuration -->
<g id="node55" class="node">
<title>ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15735" stroke="black" cx="6443.29" cy="-4334.77" rx="53.07" ry="36.54"/>
<text text-anchor="middle" x="6443.29" y="-4348.77" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6443.29" y="-4337.77" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6443.29" y="-4326.77" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration.</text>
<text text-anchor="middle" x="6443.29" y="-4315.77" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration</text>
</g>
<!-- ahriman_core_configuration_configuration&#45;&gt;ahriman_core_configuration -->
<g id="edge228" class="edge">
<title>ahriman_core_configuration_configuration&#45;&gt;ahriman_core_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6484.29,-4311.25C6562.78,-4268.66 6740.34,-4174.79 6896.29,-4110.04 7033.75,-4052.96 7086.49,-4079.98 7213.29,-4002.04 7281.05,-3960.38 7304.86,-3947.65 7341.29,-3876.94 7366.41,-3828.17 7360.29,-3809.83 7360.29,-3754.97 7360.29,-3754.97 7360.29,-3754.97 7360.29,-3471.02 7360.29,-3362.5 7728.65,-3298.74 7876.73,-3277.49"/>
<polygon fill="#a15735" stroke="black" points="7876.93,-3281 7886.34,-3276.13 7875.95,-3274.07 7876.93,-3281"/>
</g>
<!-- ahriman_core_configuration_schema -->
<g id="node56" class="node">
<title>ahriman_core_configuration_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ce693b" stroke="black" cx="5797.29" cy="-2634.6" rx="53.07" ry="36.54"/>
<text text-anchor="middle" x="5797.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="5797.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="5797.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">configuration.</text>
<text text-anchor="middle" x="5797.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">schema</text>
</g>
<!-- ahriman_core_configuration_schema&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge229" class="edge">
<title>ahriman_core_configuration_schema&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5744.05,-2633.21C5611.79,-2630.05 5261.25,-2608.03 5015.29,-2467.84 4832.89,-2363.89 4869.5,-2213.31 4671.29,-2144.11 4550.69,-2102.02 3649.92,-2113.08 3522.29,-2108.11 3179.96,-2094.8 3091.27,-2121.94 2752.29,-2072.34"/>
</g>
<!-- ahriman_core_configuration_schema&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge230" class="edge">
<title>ahriman_core_configuration_schema&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5846.89,-2620.8C5890.07,-2606.91 5950.58,-2580.23 5982.29,-2533.83"/>
<path fill="none" stroke="black" d="M5982.29,-2531.83C5997.99,-2508.86 6015.94,-2483.42 6030.45,-2463.05"/>
<polygon fill="#ce693b" stroke="black" points="6033.23,-2465.19 6036.19,-2455.02 6027.53,-2461.13 6033.23,-2465.19"/>
</g>
<!-- ahriman_core_configuration_validator -->
<g id="node57" class="node">
<title>ahriman_core_configuration_validator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a85b38" stroke="black" cx="2086.29" cy="-2853.67" rx="53.07" ry="36.54"/>
<text text-anchor="middle" x="2086.29" y="-2867.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2086.29" y="-2856.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2086.29" y="-2845.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration.</text>
<text text-anchor="middle" x="2086.29" y="-2834.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">validator</text>
</g>
<!-- ahriman_core_configuration_validator&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge231" class="edge">
<title>ahriman_core_configuration_validator&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2050.73,-2826.16C2008.41,-2795.3 1934.93,-2743.91 1867.29,-2707.36 1831.55,-2688.06 1805.65,-2705.27 1783.29,-2671.36 1765.3,-2644.08 1778.43,-2630.15 1783.29,-2597.83 1812.05,-2406.56 1867.92,-2370.38 1911.29,-2181.88"/>
<path fill="none" stroke="black" d="M1911.29,-2179.88C1914.72,-2132.21 1876.76,-2105.39 1911.29,-2072.34"/>
</g>
<!-- ahriman_core_database -->
<g id="node58" class="node">
<title>ahriman_core_database</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db4905" stroke="black" cx="10734.29" cy="-2180.88" rx="39.7" ry="28.98"/>
<text text-anchor="middle" x="10734.29" y="-2189.38" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10734.29" y="-2178.38" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10734.29" y="-2167.38" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database</text>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge232" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10578.29,-1741.73C10560.58,-1734.46 10570.8,-1715.64 10554.29,-1705.96 10536.45,-1695.5 7606.88,-1468.31 7586.29,-1466.43 7107.14,-1422.74 6984.94,-1429.3 6509.29,-1356.9 6278.1,-1321.7 6008.48,-1261.57 5876.49,-1230.86"/>
<polygon fill="#db4905" stroke="black" points="5877.31,-1227.46 5866.78,-1228.6 5875.72,-1234.28 5877.31,-1227.46"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge233" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10832.29,-1960.8C10821.52,-1914.24 10841.17,-1900.23 10832.29,-1853.27"/>
<path fill="none" stroke="black" d="M10832.29,-1851.27C10824.96,-1812.56 10795.46,-1815.85 10780.29,-1779.5 10755.08,-1719.09 10727.98,-1693.2 10756.29,-1634.19"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_application_handlers_users -->
<g id="edge234" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10773.8,-2177.51C10914.53,-2169.01 11404.41,-2138.93 11808.29,-2108.11 12982.07,-2018.56 14415.04,-1886.7 14717.55,-1858.64"/>
<polygon fill="#db4905" stroke="black" points="14717.52,-1862.16 14727.15,-1857.75 14716.87,-1855.19 14717.52,-1862.16"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_auth -->
<g id="edge235" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10772.39,-2171.94C10881.51,-2148.86 11204.21,-2078.39 11466.29,-1998.57 11694.27,-1929.14 11737.15,-1864.94 11970.29,-1815.5 12160.97,-1775.05 12771.07,-1751.53 12950.32,-1745.36"/>
<polygon fill="#db4905" stroke="black" points="12950.35,-1748.87 12960.22,-1745.03 12950.11,-1741.87 12950.35,-1748.87"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge236" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10773.59,-2176.22C10883.23,-2165.97 11201.82,-2135.9 11466.29,-2108.11 11758.06,-2077.46 11829.84,-2057.96 12122.29,-2034.57 12454.94,-2007.97 12541.39,-2041.87 12872.29,-1998.57 12912.43,-1993.32 12957.26,-1983.41 12990.21,-1975.35"/>
<polygon fill="#db4905" stroke="black" points="12991.01,-1978.76 12999.87,-1972.96 12989.32,-1971.97 12991.01,-1978.76"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge237" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10774.25,-2178.88C10899.05,-2175.22 11279.84,-2159.97 11390.29,-2108.11 11432.83,-2088.14 11423.61,-2054.26 11466.29,-2034.57 11620.35,-1963.51 12817.49,-1906.1 12986.29,-1889.03 13088.15,-1878.74 13207.28,-1865.86 13272.8,-1858.7"/>
<polygon fill="#db4905" stroke="black" points="13272.94,-1862.21 13282.5,-1857.64 13272.18,-1855.25 13272.94,-1862.21"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge238" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10694.97,-2175.54C10622.83,-2166.97 10464.92,-2145.4 10336.29,-2108.11 10252.89,-2083.94 10240.14,-2053 10155.29,-2034.57 9967.93,-1993.89 9484.82,-2007.07 9293.29,-1998.57 9030.93,-1986.93 8717.76,-1971.83 8590.42,-1965.64"/>
<polygon fill="#db4905" stroke="black" points="8590.72,-1962.15 8580.56,-1965.16 8590.38,-1969.14 8590.72,-1962.15"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge239" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10694.96,-2175.11C10601.41,-2163.75 10358.24,-2134.06 10155.29,-2108.11 9907.16,-2076.39 9846.8,-2052.33 9597.29,-2034.57 8876.84,-1983.3 7069.35,-2015.92 6347.29,-1998.57 6006.07,-1990.37 5597.4,-1972.66 5443.25,-1965.7"/>
<polygon fill="#db4905" stroke="black" points="5443.82,-1962.22 5433.67,-1965.26 5443.5,-1969.21 5443.82,-1962.22"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge240" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10764.28,-2161.45C10790.66,-2142.85 10825.85,-2111.35 10832.29,-2072.34"/>
<path fill="none" stroke="black" d="M10832.29,-2070.34C10882.03,-1768.93 9770.17,-1944.31 9465.29,-1925.03 9288.63,-1913.87 6551.01,-1864.22 6028.2,-1854.81"/>
<polygon fill="#db4905" stroke="black" points="6028.56,-1851.31 6018.5,-1854.63 6028.44,-1858.31 6028.56,-1851.31"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_repository_repository -->
<g id="edge241" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10832.29,-2070.34C10826.04,-2022.96 10852.19,-2006.26 10832.29,-1962.8"/>
<path fill="none" stroke="black" d="M10832.29,-1960.8C10770.44,-1825.79 10675.79,-1855.74 10578.29,-1743.73"/>
<path fill="none" stroke="black" d="M10578.29,-1741.73C10560.58,-1734.46 10570.97,-1715.35 10554.29,-1705.96 10422.03,-1631.44 9320.97,-1632.51 9059.73,-1633.82"/>
<polygon fill="#db4905" stroke="black" points="9059.78,-1630.32 9049.8,-1633.88 9059.81,-1637.32 9059.78,-1630.32"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge242" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10698.21,-2168.57C10656.43,-2155.21 10585.73,-2131.8 10526.29,-2108.11 10452.83,-2078.84 10440.91,-2054.09 10364.29,-2034.57 10195.93,-1991.69 9676.9,-1971.73 9467.87,-1965.27"/>
<polygon fill="#db4905" stroke="black" points="9468.26,-1961.78 9458.16,-1964.97 9468.05,-1968.78 9468.26,-1961.78"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_status_watcher -->
<g id="edge243" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10832.29,-2070.34C10822.16,-1993.57 11281.96,-1643.7 11343.29,-1596.42 11452.11,-1512.51 11556.38,-1559.46 11604.29,-1430.67"/>
<path fill="none" stroke="black" d="M11604.29,-1428.67C11603.49,-1407.39 11608.58,-1384.48 11614.63,-1365.29"/>
<polygon fill="#db4905" stroke="black" points="11617.92,-1366.49 11617.79,-1355.9 11611.29,-1364.26 11617.92,-1366.49"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_web_web -->
<g id="edge244" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10832.29,-1851.27C10767.33,-1465.8 11022.29,-1383.41 11022.29,-992.51 11022.29,-992.51 11022.29,-992.51 11022.29,-755.87 11022.29,-528.72 11808.09,-630.37 12028.29,-574.57 12041.33,-571.26 12055.28,-566.99 12068.03,-562.78"/>
<polygon fill="#db4905" stroke="black" points="12069.08,-566.12 12077.44,-559.61 12066.84,-559.48 12069.08,-566.12"/>
</g>
<!-- ahriman_core_database_migrations&#45;&gt;ahriman_core_database_sqlite -->
<g id="edge245" class="edge">
<title>ahriman_core_database_migrations&#45;&gt;ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10605,-2397.09C10628.21,-2378.04 10660.23,-2351.77 10685.25,-2331.23"/>
<polygon fill="#88523a" stroke="black" points="10687.44,-2333.96 10692.95,-2324.91 10683,-2328.55 10687.44,-2333.96"/>
</g>
<!-- ahriman_core_database_operations -->
<g id="node60" class="node">
<title>ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#9f3504" stroke="black" cx="11084.29" cy="-2423.3" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="11084.29" y="-2437.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11084.29" y="-2426.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11084.29" y="-2415.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="11084.29" y="-2404.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations</text>
</g>
<!-- ahriman_core_database_operations&#45;&gt;ahriman_core_database_sqlite -->
<g id="edge246" class="edge">
<title>ahriman_core_database_operations&#45;&gt;ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11056.5,-2394.75C11048.87,-2388.57 11040.22,-2382.69 11031.29,-2378.75 10928.16,-2333.3 10884.01,-2386.81 10780.29,-2342.75 10773.82,-2340 10767.45,-2336.31 10761.45,-2332.24"/>
<polygon fill="#9f3504" stroke="black" points="10763.74,-2329.58 10753.61,-2326.49 10759.61,-2335.23 10763.74,-2329.58"/>
</g>
<!-- ahriman_core_database_operations_auth_operations -->
<g id="node61" class="node">
<title>ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#914f30" stroke="black" cx="13175.29" cy="-2423.3" rx="60.62" ry="44.6"/>
<text text-anchor="middle" x="13175.29" y="-2442.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13175.29" y="-2431.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13175.29" y="-2420.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="13175.29" y="-2409.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="13175.29" y="-2398.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth_operations</text>
</g>
<!-- ahriman_core_database_operations_auth_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge247" class="edge">
<title>ahriman_core_database_operations_auth_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13138.12,-2458.96C13124.48,-2469.76 13108.2,-2480.24 13091.29,-2485.84 13042.01,-2502.18 11273.03,-2496.81 11222.29,-2485.84 11189.94,-2478.86 11156.06,-2463.63 11129.97,-2449.95"/>
<polygon fill="#914f30" stroke="black" points="11131.81,-2446.97 11121.34,-2445.33 11128.5,-2453.14 11131.81,-2446.97"/>
</g>
<!-- ahriman_core_database_operations_build_operations -->
<g id="node62" class="node">
<title>ahriman_core_database_operations_build_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="4334.29" cy="-2423.3" rx="61.54" ry="44.6"/>
<text text-anchor="middle" x="4334.29" y="-2442.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4334.29" y="-2431.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4334.29" y="-2420.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="4334.29" y="-2409.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="4334.29" y="-2398.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_operations</text>
</g>
<!-- ahriman_core_database_operations_build_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge248" class="edge">
<title>ahriman_core_database_operations_build_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4395.08,-2430.67C4515.12,-2444.82 4791.18,-2475.3 5024.29,-2485.84 5107.51,-2489.61 10945.39,-2517.89 11022.29,-2485.84 11034.29,-2480.84 11045.17,-2472.25 11054.34,-2463.02"/>
<polygon fill="#995333" stroke="black" points="11056.68,-2465.63 11060.91,-2455.92 11051.55,-2460.88 11056.68,-2465.63"/>
</g>
<!-- ahriman_core_database_operations_logs_operations -->
<g id="node63" class="node">
<title>ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#914f30" stroke="black" cx="10962.29" cy="-2423.3" rx="60.21" ry="44.6"/>
<text text-anchor="middle" x="10962.29" y="-2442.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10962.29" y="-2431.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10962.29" y="-2420.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="10962.29" y="-2409.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="10962.29" y="-2398.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logs_operations</text>
</g>
<!-- ahriman_core_database_operations_logs_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge249" class="edge">
<title>ahriman_core_database_operations_logs_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11022.81,-2423.3C11024.94,-2423.3 11027.07,-2423.3 11029.2,-2423.3"/>
<polygon fill="#914f30" stroke="black" points="11029.07,-2426.8 11039.07,-2423.3 11029.07,-2419.8 11029.07,-2426.8"/>
</g>
<!-- ahriman_core_database_operations_operations -->
<g id="node64" class="node">
<title>ahriman_core_database_operations_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b0603a" stroke="black" cx="8550.29" cy="-2423.3" rx="45.92" ry="44.6"/>
<text text-anchor="middle" x="8550.29" y="-2442.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8550.29" y="-2431.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8550.29" y="-2420.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="8550.29" y="-2409.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="8550.29" y="-2398.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations</text>
</g>
<!-- ahriman_core_database_operations_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge250" class="edge">
<title>ahriman_core_database_operations_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8596.17,-2428.47C8713.06,-2441.38 9031.7,-2474.72 9298.29,-2485.84 9393.98,-2489.84 10933.88,-2522.69 11022.29,-2485.84 11034.29,-2480.84 11045.17,-2472.25 11054.34,-2463.02"/>
<polygon fill="#b0603a" stroke="black" points="11056.68,-2465.63 11060.91,-2455.92 11051.55,-2460.88 11056.68,-2465.63"/>
</g>
<!-- ahriman_core_database_operations_package_operations -->
<g id="node65" class="node">
<title>ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#82472b" stroke="black" cx="10246.29" cy="-3268.5" rx="73.58" ry="44.6"/>
<text text-anchor="middle" x="10246.29" y="-3288" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10246.29" y="-3277" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10246.29" y="-3266" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="10246.29" y="-3255" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="10246.29" y="-3244" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_operations</text>
</g>
<!-- ahriman_core_database_operations_package_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge251" class="edge">
<title>ahriman_core_database_operations_package_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10308.42,-3244.01C10377.04,-3215.89 10488.14,-3163.72 10566.29,-3093.97 10767.04,-2914.78 10742.05,-2805.39 10913.29,-2597.83 10955.77,-2546.33 11010.88,-2492.36 11046.89,-2458.55"/>
<polygon fill="#82472b" stroke="black" points="11049.14,-2461.24 11054.06,-2451.85 11044.36,-2456.12 11049.14,-2461.24"/>
</g>
<!-- ahriman_core_database_operations_patch_operations -->
<g id="node66" class="node">
<title>ahriman_core_database_operations_patch_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="3572.29" cy="-2423.3" rx="64.19" ry="44.6"/>
<text text-anchor="middle" x="3572.29" y="-2442.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3572.29" y="-2431.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3572.29" y="-2420.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="3572.29" y="-2409.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="3572.29" y="-2398.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">patch_operations</text>
</g>
<!-- ahriman_core_database_operations_patch_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge252" class="edge">
<title>ahriman_core_database_operations_patch_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3635.86,-2430.89C3758.64,-2445.13 4037.04,-2475.35 4272.29,-2485.84 4365.94,-2490.02 10935.75,-2521.91 11022.29,-2485.84 11034.29,-2480.84 11045.17,-2472.25 11054.34,-2463.02"/>
<polygon fill="#995333" stroke="black" points="11056.68,-2465.63 11060.91,-2455.92 11051.55,-2460.88 11056.68,-2465.63"/>
</g>
<!-- ahriman_core_database_sqlite&#45;&gt;ahriman_core_database -->
<g id="edge253" class="edge">
<title>ahriman_core_database_sqlite&#45;&gt;ahriman_core_database</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10727.4,-2261.34C10728.49,-2248.69 10729.73,-2234.39 10730.86,-2221.45"/>
<polygon fill="#995333" stroke="black" points="10734.34,-2221.8 10731.72,-2211.53 10727.37,-2221.19 10734.34,-2221.8"/>
</g>
<!-- ahriman_core_exceptions -->
<g id="node68" class="node">
<title>ahriman_core_exceptions</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f95a10" stroke="black" cx="6283.29" cy="-4768.5" rx="44.6" ry="28.98"/>
<text text-anchor="middle" x="6283.29" y="-4777" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="6283.29" y="-4766" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="6283.29" y="-4755" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">exceptions</text>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge254" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12263.29,-4684.51C12640.63,-4515.27 12745.43,-4461.02 13037.29,-4168.02 13086.17,-4118.94 13076.43,-4089.05 13123.29,-4038.04 13337.98,-3804.31 13435.89,-3793.77 13683.29,-3594.99 13957.85,-3374.38 14031.64,-3325.23 14297.29,-3093.97 14496.02,-2920.95 14669.18,-2899.06 14673.29,-2635.6"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_search -->
<g id="edge255" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6250.18,-4748.81C6241.96,-4745.02 6233,-4741.56 6224.29,-4739.51 6038.69,-4695.66 4698.67,-4714.69 4508.29,-4703.51 4412.62,-4697.89 2882.25,-4567.69 2791.29,-4537.52 2738.84,-4520.13 2628.76,-4432.15 2579.29,-4407.54 2539.23,-4387.61 2521.21,-4398.21 2485.29,-4371.54 2452.08,-4346.89 2463.34,-4319.95 2428.29,-4298 2362.46,-4256.78 2331.48,-4284.96 2257.29,-4262 2192.95,-4242.09 2181.6,-4224 2117.29,-4204.02 2043.95,-4181.23 2023.13,-4185.22 1948.29,-4168.02 1843.44,-4143.92 1819.64,-4126.22 1713.29,-4110.04 1450.06,-4069.98 1376.56,-4125.3 1115.29,-4074.04 1066.46,-4064.45 1057.7,-4049.5 1009.29,-4038.04 895.77,-4011.16 846.76,-4066.14 749.29,-4002.04 710.6,-3976.59 719.81,-3952.22 695.29,-3912.94 589.95,-3744.21 160.31,-3352.23 211.29,-3159.96"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_users -->
<g id="edge256" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6328.18,-4767.55C6895.5,-4768.11 12651.18,-4772.11 12809.29,-4703.51 12845.91,-4687.62 12902.15,-4598.51 12933.29,-4573.52 13205.05,-4355.43 13325.25,-4376.71 13604.29,-4168.02 14055.22,-3830.77 14163.75,-3732.62 14539.29,-3313.04 14787.81,-3035.38 15033.29,-3008.23 15033.29,-2635.6 15033.29,-2635.6 15033.29,-2635.6 15033.29,-2531.83 15033.29,-2425.69 15043.55,-2383.68 14979.29,-2299.2"/>
<path fill="none" stroke="black" d="M14979.29,-2297.2C14953.15,-2262.43 14945.21,-2254.62 14922.29,-2217.65 14912.8,-2202.35 14914.83,-2195.7 14903.29,-2181.88"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge257" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6250.17,-4748.84C6241.95,-4745.05 6233,-4741.58 6224.29,-4739.51 5919.2,-4666.7 5124.25,-4744.57 4813.29,-4703.51 4745.75,-4694.59 4731.41,-4679.17 4664.29,-4667.51 4516.75,-4641.87 4477.8,-4650.66 4329.29,-4631.51 4157.67,-4609.37 4116.6,-4589.43 3944.29,-4573.52 3829.37,-4562.91 3015.36,-4575.21 2906.29,-4537.52 2859.99,-4521.53 2769.56,-4433.91 2728.29,-4407.54 2571.11,-4307.12 2538.55,-4262.02 2361.29,-4204.02 2240.36,-4164.45 2193.85,-4219.02 2077.29,-4168.02 2040.59,-4151.96 2045.14,-4125.74 2008.29,-4110.04 1939.31,-4080.64 1411.95,-4044.92 1337.29,-4038.04 1285.58,-4033.26 910.23,-4036.39 871.29,-4002.04 745.06,-3890.67 830.53,-3795.59 795.29,-3630.99 786.33,-3589.14 783.69,-3578.76 774.29,-3537.01 765.74,-3499.09 619.29,-2893.55 619.29,-2854.67 619.29,-2854.67 619.29,-2854.67 619.29,-2743.13 619.29,-2686.47 720.71,-2292.14 762.29,-2253.65 961.73,-2069.02 1851.27,-1986.21 2088.17,-1967.19"/>
<polygon fill="#f95a10" stroke="black" points="2088.4,-1970.68 2098.09,-1966.4 2087.85,-1963.71 2088.4,-1970.68"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_lock -->
<g id="edge258" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6328.32,-4767.41C6876.93,-4766.25 12256.74,-4753.61 12410.29,-4703.51 12870.4,-4553.38 13809.26,-3740.23 14160.29,-3407.03 14254.4,-3317.69 14270.78,-3288.1 14353.29,-3187.95 14528.55,-2975.21 14669.69,-2909.07 14635.29,-2635.6"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge259" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6249.8,-4748.91C6241.68,-4745.16 6232.85,-4741.71 6224.29,-4739.51 6095.35,-4706.37 5759.15,-4711.99 5626.29,-4703.51 5152.4,-4673.24 5028.38,-4711.35 4560.29,-4631.51 4385.02,-4601.61 3190.07,-4249.86 3018.29,-4204.02 2731.46,-4127.47 2665.22,-4079.7 2371.29,-4038.04 2241.3,-4019.61 1311.77,-4051.81 1190.29,-4002.04 1186.63,-4000.53 1183.07,-3998.61 1179.67,-3996.41"/>
<polygon fill="#f95a10" stroke="black" points="1181.84,-3993.66 1171.73,-3990.5 1177.66,-3999.27 1181.84,-3993.66"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge260" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6249.79,-4748.96C6241.66,-4745.22 6232.84,-4741.74 6224.29,-4739.51 5999.31,-4680.64 5928.57,-4757.12 5702.29,-4703.51 5661.97,-4693.95 5656.43,-4677.79 5616.29,-4667.51 5084.22,-4531.13 4902.48,-4727.98 4387.29,-4537.52 4211.17,-4472.42 4203.6,-4388.86 4039.29,-4298 2957.18,-3699.63 2581.7,-3781.36 1437.29,-3313.04 1318.98,-3264.63 1270.04,-3276.96 1178.29,-3187.95 921.46,-2938.8 956.34,-2780.59 923.29,-2424.3"/>
<path fill="none" stroke="black" d="M923.29,-2422.3C920.8,-2400.26 920.33,-2375.86 920.65,-2354.63"/>
<polygon fill="#f95a10" stroke="black" points="924.15,-2354.79 920.87,-2344.71 917.15,-2354.64 924.15,-2354.79"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge261" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6250.17,-4748.82C6241.96,-4745.03 6233,-4741.57 6224.29,-4739.51 5889.07,-4659.92 5016.31,-4745.07 4674.29,-4703.51 4601.07,-4694.61 4585.29,-4677.99 4512.29,-4667.51 4393.46,-4650.44 4086.86,-4670.4 3973.29,-4631.51 3929.68,-4616.57 3931.13,-4587.77 3887.29,-4573.52 3670.74,-4503.16 3079.69,-4608.36 2863.29,-4537.52 2765.7,-4505.58 2765.81,-4449.92 2672.29,-4407.54 2614.16,-4381.2 2585.12,-4408.77 2533.29,-4371.54 2501.59,-4348.77 2515.35,-4322.9 2485.29,-4298 2400.88,-4228.09 2362.7,-4234.03 2257.29,-4204.02 2162.84,-4177.13 2131,-4203.12 2039.29,-4168.02 1994.5,-4150.88 1993.71,-4125.41 1948.29,-4110.04 1770.4,-4049.84 1714.29,-4091.23 1527.29,-4074.04 1506.94,-4072.16 811.74,-4014.16 795.29,-4002.04 775.53,-3987.48 461.3,-3210.77 452.29,-3187.95 416.9,-3098.28 394.22,-3079.33 377.29,-2984.43 359.28,-2883.51 416.74,-2542.82 495.29,-2424.3"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge262" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8994.29,-4684.51C8998.86,-4501.35 9802.29,-4703.74 9802.29,-4520.52 9802.29,-4520.52 9802.29,-4520.52 9802.29,-4138.03 9802.29,-4015.29 9754.34,-3992.25 9712.29,-3876.94 9548.83,-3428.66 9534.72,-3307.49 9384.29,-2854.67"/>
<path fill="none" stroke="black" d="M9384.29,-2852.67C9360.22,-2790.16 9402.21,-2770.61 9424.29,-2707.36 9427.74,-2697.47 9500.59,-2544.06 9498.29,-2533.83"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge263" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6328.21,-4767.32C6864.45,-4765.15 12022.04,-4743.3 12087.29,-4703.51 12230.12,-4616.4 12321.75,-4157.09 12439.29,-4038.04 12462.76,-4014.26 12478.71,-4022.29 12505.29,-4002.04 12549.06,-3968.68 12548.35,-3947.37 12591.29,-3912.94 12842.49,-3711.49 13022.34,-3777.55 13187.29,-3501.01 13206.12,-3469.44 13435.06,-2926.49 13442.29,-2890.44 13483.08,-2686.94 13477.96,-2621.84 13414.29,-2424.3"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge264" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8994.29,-4684.51C8995.06,-4648.52 8996.66,-4639.43 8994.29,-4603.51"/>
<path fill="none" stroke="black" d="M8994.29,-4601.51C8989.21,-4524.5 8916.58,-4536.51 8886.29,-4465.52 8695.04,-4017.27 8738.29,-3866.38 8738.29,-3379.03 8738.29,-3379.03 8738.29,-3379.03 8738.29,-3267.5 8738.29,-3103.98 8707.98,-3049.49 8600.29,-2926.44 8582.73,-2906.38 8572.49,-2907.85 8552.29,-2890.44 8539.16,-2879.13 8452.93,-2793.74 8441.29,-2780.9 8427.54,-2765.74 8418.99,-2764.47 8412.29,-2745.13"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_configuration_configuration -->
<g id="edge265" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6328.33,-4767.37C6681.52,-4766.22 8992.57,-4756.07 8994.29,-4686.51"/>
<path fill="none" stroke="black" d="M8994.29,-4684.51C8995.99,-4615.59 6572.6,-4666.62 6513.29,-4631.51 6464.29,-4602.5 6422.9,-4570.98 6449.29,-4520.52"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge266" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6249.77,-4749.04C6241.64,-4745.29 6232.83,-4741.79 6224.29,-4739.51 6032.2,-4688.04 5964.96,-4772.06 5778.29,-4703.51 5488.48,-4597.08 5465.7,-4477.19 5214.29,-4298 4891.24,-4067.75 4774.76,-4054.22 4485.29,-3782.96 4408.11,-3710.63 4385.29,-3672.77 4385.29,-3567 4385.29,-3567 4385.29,-3567 4385.29,-3377.03 4385.29,-3282.48 4468.25,-2622.8 4500.29,-2533.83"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge267" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6248.38,-4749.96C6240.54,-4746.3 6232.2,-4742.61 6224.29,-4739.51 6036.91,-4665.97 5792.29,-4804.8 5792.29,-4603.51 5792.29,-4603.51 5792.29,-4603.51 5792.29,-4518.52 5792.29,-4357.14 5645.52,-4379.88 5535.29,-4262 5190.84,-3893.66 4966.33,-3879.23 4789.29,-3407.03 4780.24,-3382.9 4787.91,-3374.78 4789.29,-3349.04 4801.08,-3128.38 4842.29,-3075.65 4842.29,-2854.67 4842.29,-2854.67 4842.29,-2854.67 4842.29,-2633.6 4842.29,-2481.19 4918.29,-2451.61 4918.29,-2299.2 4918.29,-2299.2 4918.29,-2299.2 4918.29,-2179.88 4918.29,-2005.86 5190.13,-1971.08 5316.77,-1964.33"/>
<polygon fill="#f95a10" stroke="black" points="5316.86,-1967.82 5326.68,-1963.84 5316.52,-1960.83 5316.86,-1967.82"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_report_report -->
<g id="edge268" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8994.29,-4601.51C8991.92,-4565.6 9004.23,-4555.12 8994.29,-4520.52"/>
<path fill="none" stroke="black" d="M8994.29,-4518.52C8982.51,-4477.53 8937.81,-4501.1 8914.29,-4465.52 8881.94,-4416.61 8890.29,-4394.42 8890.29,-4335.77 8890.29,-4335.77 8890.29,-4335.77 8890.29,-3565 8890.29,-3509.75 8889.2,-3493.3 8866.29,-3443.03 8857.88,-3424.58 8847.4,-3425.13 8838.29,-3407.03 8738.56,-3208.98 8831.16,-3108.3 8704.29,-2926.44 8656.64,-2858.15 8624.68,-2858.05 8552.29,-2816.9 8517.33,-2797.03 8491.43,-2814.47 8469.29,-2780.9 8409.91,-2690.93 8444.74,-2353.84 8460.13,-2228.88"/>
<polygon fill="#f95a10" stroke="black" points="8463.6,-2229.32 8461.37,-2218.96 8456.65,-2228.45 8463.6,-2229.32"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge269" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8994.29,-4601.51C8999.85,-4428.07 9202.1,-4536.87 9360.29,-4465.52 9534.93,-4386.75 9641.86,-4426.37 9740.29,-4262 9936.59,-3934.19 9308.29,-3859.55 9308.29,-3848.95 9308.29,-3848.95 9308.29,-3848.95 9308.29,-3752.97 9308.29,-3537.43 9270.29,-3485.03 9270.29,-3269.5 9270.29,-3269.5 9270.29,-3269.5 9270.29,-2852.67 9270.29,-2641.87 9262.68,-2587.86 9289.29,-2378.75 9306.6,-2242.7 9346.12,-2085.26 9366.55,-2008.98"/>
<polygon fill="#f95a10" stroke="black" points="9369.8,-2010.36 9369.02,-1999.79 9363.04,-2008.54 9369.8,-2010.36"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge270" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6327.98,-4767.24C6792.92,-4764.53 10730.94,-4740.46 10844.29,-4703.51 10856.72,-4699.45 10863.49,-4698.66 10868.29,-4686.51"/>
<path fill="none" stroke="black" d="M10868.29,-4684.51C10873.09,-4672.35 10855.36,-4674.46 10844.29,-4667.51 10816.33,-4649.93 10802.61,-4654.88 10779.29,-4631.51 10579.52,-4431.26 10602.6,-4325.08 10472.29,-4074.04 10224.01,-3595.72 10174.69,-3469.69 9940.29,-2984.43 9912.49,-2926.88 9921.39,-2901.86 9878.29,-2854.67"/>
<path fill="none" stroke="black" d="M9878.29,-2852.67C9844.06,-2822.02 9824.73,-2831.89 9781.29,-2816.9 9731.86,-2799.86 9700.09,-2823.16 9669.29,-2780.9 9595.53,-2679.73 9795.47,-2603.96 9720.29,-2503.84 9685.83,-2457.96 9646.93,-2494.84 9596.29,-2467.84 9590.56,-2464.79 9584.89,-2461.04 9579.52,-2457.02"/>
<polygon fill="#f95a10" stroke="black" points="9582,-2454.52 9571.99,-2451.04 9577.64,-2460 9582,-2454.52"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_status_watcher -->
<g id="edge271" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6327.96,-4767.38C6861.21,-4765.94 11989.93,-4750.84 12049.29,-4703.51 12085.02,-4675.01 12078.42,-4648.93 12073.29,-4603.51"/>
<path fill="none" stroke="black" d="M12073.29,-4601.51C12066.5,-4434.86 11997.29,-4400.8 11997.29,-4234.01 11997.29,-4234.01 11997.29,-4234.01 11997.29,-3846.95 11997.29,-3590.3 11994.29,-3526.14 11994.29,-3269.5 11994.29,-3269.5 11994.29,-3269.5 11994.29,-3056.2 11994.29,-2997.55 12007.38,-2971.87 11970.29,-2926.44 11943.3,-2893.39 11914.19,-2917.6 11881.29,-2890.44 11836.54,-2853.51 11830.3,-2835.36 11810.29,-2780.9 11694.91,-2466.94 11763.44,-2365.29 11713.29,-2034.57 11705.88,-1985.72 11702.86,-1973.7 11694.29,-1925.03 11671.51,-1795.71 11677,-1760.83 11642.29,-1634.19"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge272" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6256.03,-4745.07C6163.41,-4668.87 5865.38,-4423.77 5844.29,-4407.54 5700.09,-4296.58 5611.91,-4320.27 5512.29,-4168.02 5484.66,-4125.79 5488.29,-4107.5 5488.29,-4057.04 5488.29,-4057.04 5488.29,-4057.04 5488.29,-3752.97 5488.29,-3555.7 5579.65,-3523.21 5672.29,-3349.04 5772.08,-3161.41 6209.17,-2743.13 6172.29,-2533.83"/>
<path fill="none" stroke="black" d="M6172.29,-2531.83C6170.87,-2510.4 6176.77,-2487.52 6183.95,-2468.41"/>
<polygon fill="#f95a10" stroke="black" points="6187.12,-2469.9 6187.6,-2459.32 6180.63,-2467.3 6187.12,-2469.9"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_upload_upload -->
<g id="edge273" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6248.29,-4684.51C6074.84,-4372.38 6253.85,-4195.41 6472.29,-3912.94 6512.46,-3860.99 6527.71,-3848.63 6586.29,-3818.96 6644.37,-3789.54 6686.39,-3832.79 6728.29,-3782.96 6872,-3612.02 6795.84,-3004.06 6804.29,-2780.9 6807.37,-2699.59 6812.15,-2678.81 6804.29,-2597.83 6803.07,-2585.3 6789.46,-2517.62 6779.84,-2470.59"/>
<polygon fill="#f95a10" stroke="black" points="6783.29,-2469.99 6777.85,-2460.9 6776.43,-2471.4 6783.29,-2469.99"/>
</g>
<!-- ahriman_core_util -->
<g id="node125" class="node">
<title>ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c74205" stroke="black" cx="8994.29" cy="-4436.53" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="8994.29" y="-4445.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8994.29" y="-4434.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8994.29" y="-4423.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">util</text>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_util -->
<g id="edge274" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8994.29,-4518.52C8990.5,-4505.35 8989.6,-4490.47 8989.93,-4477.09"/>
<polygon fill="#f95a10" stroke="black" points="8993.42,-4477.48 8990.43,-4467.31 8986.43,-4477.13 8993.42,-4477.48"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_migration_result -->
<g id="edge275" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_migration_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10868.29,-4684.51C10873.65,-4670.94 10871.82,-4655.47 10867.64,-4641.71"/>
<polygon fill="#f95a10" stroke="black" points="10871.03,-4640.79 10864.39,-4632.54 10864.43,-4643.14 10871.03,-4640.79"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_package -->
<g id="edge276" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6273.87,-4739.76C6267.76,-4723.57 6258.96,-4703.14 6248.29,-4686.51"/>
<path fill="none" stroke="black" d="M6248.29,-4684.51C6223.23,-4645.43 6184.52,-4669.8 6158.29,-4631.51 6025.93,-4438.27 6049.94,-4342 6082.29,-4110.04 6093.62,-4028.79 6172.92,-3836.34 6183.29,-3754.97"/>
<path fill="none" stroke="black" d="M6183.29,-3752.97C6180.55,-3712.18 6167.07,-3698.51 6183.29,-3660.98"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_repository_paths -->
<g id="edge277" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_repository_paths</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8994.29,-4684.51C8995.76,-4624.62 7066.14,-4607.06 6659.82,-4604.03"/>
<polygon fill="#f95a10" stroke="black" points="6660.07,-4600.53 6650.04,-4603.95 6660.01,-4607.53 6660.07,-4600.53"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_result -->
<g id="edge278" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6248.29,-4684.51C6214.76,-4617.63 6286.29,-4595.34 6286.29,-4520.52 6286.29,-4520.52 6286.29,-4520.52 6286.29,-4435.53 6286.29,-4368.48 6309.61,-4352.77 6348.29,-4298 6417.92,-4199.41 6450.95,-4186.56 6544.29,-4110.04 6740.81,-3948.92 6860.83,-3986.27 7013.29,-3782.96 7092.62,-3677.16 7086.89,-3631.5 7108.29,-3501.01 7112.46,-3475.58 7110.24,-3468.72 7108.29,-3443.03 7098.26,-3311.14 6923.75,-2947.18 7018.29,-2854.67"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge279" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6328.07,-4767.37C6837.44,-4765.92 11532.13,-4751.26 12146.29,-4703.51 12198.68,-4699.43 12214.05,-4704.87 12263.29,-4686.51"/>
<path fill="none" stroke="black" d="M12263.29,-4684.51C12329.84,-4659.68 12325.63,-4621.19 12378.29,-4573.52 12536.9,-4429.94 12587.4,-4406.38 12745.29,-4262 12866.81,-4150.87 12900.3,-4125.48 13009.29,-4002.04 13215.18,-3768.82 13677.01,-3141.82 13860.29,-2890.44 13929.51,-2795.49 13945.68,-2770.8 14008.29,-2671.36 14038.57,-2623.27 14054.69,-2615.18 14074.29,-2561.83 14133.28,-2401.22 14136.29,-2352.98 14136.29,-2181.88 14136.29,-2181.88 14136.29,-2181.88 14136.29,-1530.43 14136.29,-1289.04 14302.62,-1215.95 14211.29,-992.51"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_package -->
<g id="edge280" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12073.29,-4601.51C12179.64,-3922.46 12633.29,-3847.29 12633.29,-3159.96 12633.29,-3159.96 12633.29,-3159.96 12633.29,-3056.2 12633.29,-2900.7 12643.77,-2858.28 12606.29,-2707.36 12578.31,-2594.73 12528.58,-2580.88 12502.29,-2467.84 12451.37,-2248.97 12478.29,-2187.52 12478.29,-1962.8 12478.29,-1962.8 12478.29,-1962.8 12478.29,-1632.19 12478.29,-1536.46 12537.27,-1524.86 12554.29,-1430.67"/>
<path fill="none" stroke="black" d="M12554.29,-1428.67C12565.15,-1327.02 12575.16,-1297.67 12630.29,-1211.59"/>
<path fill="none" stroke="black" d="M12630.29,-1209.59C12678.52,-1126.03 12577.93,-1073.55 12630.29,-992.51"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_web -->
<g id="edge281" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6328.34,-4767.41C6850.26,-4766.34 11732.46,-4754.93 11783.29,-4703.51 11794.54,-4692.13 11784.91,-4683.42 11783.29,-4667.51 11769.66,-4533.89 11735.91,-4505.15 11722.29,-4371.54 11707.95,-4230.94 11769.29,-4198.37 11769.29,-4057.04 11769.29,-4057.04 11769.29,-4057.04 11769.29,-3846.95 11769.29,-3518.83 11818.29,-3368.79 11593.29,-3129.97 11563.18,-3098.01 11526.47,-3129.93 11501.29,-3093.97 11384.4,-2927.04 11536.49,-2834.07 11490.29,-2635.6"/>
<path fill="none" stroke="black" d="M11490.29,-2633.6C11470.21,-2557.48 11247.44,-2040.11 11262.29,-1962.8"/>
</g>
<!-- ahriman_core_formatters -->
<g id="node69" class="node">
<title>ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#953103" stroke="black" cx="2862.29" cy="-2532.83" rx="43.68" ry="28.98"/>
<text text-anchor="middle" x="2862.29" y="-2541.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2862.29" y="-2530.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2862.29" y="-2519.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters</text>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge282" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3626.29,-2297.2C3683.07,-2213.25 3664.29,-2173.7 3664.29,-2072.34 3664.29,-2072.34 3664.29,-2072.34 3664.29,-1960.8 3664.29,-1735.98 3766.25,-1697.36 3878.29,-1502.43 3966.87,-1348.32 3955.97,-1268.72 4106.29,-1173.82 4162.95,-1138.04 4344.53,-1117.79 4455.62,-1108.46"/>
<polygon fill="#953103" stroke="black" points="4455.63,-1111.97 4465.3,-1107.66 4455.05,-1104.99 4455.63,-1111.97"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge283" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2903.83,-2522.92C3058.61,-2489.24 3594.58,-2368.12 3626.29,-2299.2"/>
<path fill="none" stroke="black" d="M3626.29,-2297.2C3656.52,-2252.5 3605.45,-2233.05 3588.29,-2181.88"/>
<path fill="none" stroke="black" d="M3588.29,-2179.88C3575.76,-2142.54 3558.82,-2140.42 3536.29,-2108.11 3525.34,-2092.41 3527.5,-2083.96 3512.29,-2072.34"/>
<path fill="none" stroke="black" d="M3512.29,-2070.34C3066.56,-1729.89 2810.29,-1974.17 2284.29,-1779.5 2035.32,-1687.35 1760.54,-1524.84 1653.99,-1459.28"/>
<polygon fill="#953103" stroke="black" points="1655.85,-1456.31 1645.5,-1454.04 1652.17,-1462.27 1655.85,-1456.31"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge284" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3436.29,-1428.67C3313.18,-1278.93 3466.52,-1183.98 3436.29,-992.51"/>
<path fill="none" stroke="black" d="M3436.29,-990.51C3416.95,-860.35 2413.69,-734.87 2292.29,-684.1 2287.11,-681.94 2281.84,-679.41 2276.67,-676.71"/>
<polygon fill="#953103" stroke="black" points="2278.69,-673.83 2268.24,-672.09 2275.33,-679.97 2278.69,-673.83"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge285" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3512.29,-2070.34C3470,-1983.63 3574.22,-1927.24 3512.29,-1853.27"/>
<path fill="none" stroke="black" d="M3512.29,-1851.27C3332.82,-1648.43 2523.26,-1894.52 2298.29,-1743.73"/>
<path fill="none" stroke="black" d="M2298.29,-1741.73C2173.95,-1658.39 2190.06,-1589.1 2104.29,-1466.43 2070.33,-1417.87 2057.4,-1408.5 2028.29,-1356.9 2010.37,-1325.14 1742.34,-789.61 1760.29,-757.87"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge286" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3512.29,-2070.34C3506.78,-2058.81 3588.29,-1866.04 3588.29,-1853.27 3588.29,-1853.27 3588.29,-1853.27 3588.29,-1741.73 3588.29,-1620.42 3875.65,-792.1 3973.29,-720.1 4062.4,-654.39 4835.15,-648.41 5084.25,-648.2"/>
<polygon fill="#953103" stroke="black" points="5084.2,-651.7 5094.2,-648.19 5084.2,-644.7 5084.2,-651.7"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_search -->
<g id="edge287" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2843.09,-2506.82C2823.01,-2482.33 2789.29,-2445.67 2752.29,-2424.3"/>
<path fill="none" stroke="black" d="M2752.29,-2422.3C2413.93,-2226.89 2199.57,-2465.23 1897.29,-2217.65 1723.46,-2075.28 1721.29,-1968.42 1721.29,-1743.73 1721.29,-1743.73 1721.29,-1743.73 1721.29,-1530.43 1721.29,-1238.23 1273.86,-1276.34 1343.29,-992.51"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge288" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3512.29,-1632.19C3440.07,-1232.35 3749.46,-995.02 3450.29,-720.1 3386.98,-661.93 2794.95,-650.91 2583.72,-648.82"/>
<polygon fill="#953103" stroke="black" points="2584,-645.32 2573.97,-648.73 2583.93,-652.32 2584,-645.32"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge289" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3588.29,-2179.88C3533.34,-2016.03 3978.57,-811.45 4125.29,-720.1 4177.67,-687.5 5173.7,-687.78 5235.29,-684.1 5361.53,-676.57 5509.14,-662.41 5588.6,-654.35"/>
<polygon fill="#953103" stroke="black" points="5588.71,-657.86 5598.31,-653.36 5588,-650.9 5588.71,-657.86"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_status -->
<g id="edge290" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3436.29,-990.51C3428.29,-939.88 3453.4,-923.5 3436.29,-875.19"/>
<path fill="none" stroke="black" d="M3436.29,-873.19C3413.3,-808.27 3463.79,-765.83 3412.29,-720.1 3331.22,-648.13 2540.77,-716.42 2437.29,-684.1 2433.01,-682.77 2428.74,-681.02 2424.58,-679"/>
<polygon fill="#953103" stroke="black" points="2426.3,-675.95 2415.84,-674.27 2422.97,-682.11 2426.3,-675.95"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge291" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3512.29,-1851.27C3450.42,-1777.23 3531.45,-1728.75 3512.29,-1634.19"/>
<path fill="none" stroke="black" d="M3512.29,-1632.19C3506.58,-1593.21 3475.81,-1596.62 3460.29,-1560.42 3437.18,-1506.51 3473.7,-1475.83 3436.29,-1430.67"/>
<path fill="none" stroke="black" d="M3436.29,-1428.67C3071.98,-1066.88 2749.36,-1416.72 2318.29,-1137.82 2163.82,-1037.88 2129.84,-972.87 2088.29,-793.64 2080.82,-761.42 2079.16,-724.14 2079.32,-695.41"/>
<polygon fill="#953103" stroke="black" points="2082.82,-695.62 2079.46,-685.57 2075.82,-695.52 2082.82,-695.62"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge292" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2298.29,-1741.73C2206.15,-1676.72 1956.54,-904.57 1936.29,-793.64 1930.42,-761.49 1921.25,-749.12 1936.29,-720.1 1949.05,-695.47 1969.07,-705.03 1987.29,-684.1 2011.45,-656.36 2006.78,-642.36 2025.29,-610.57 2050.14,-567.88 2081.15,-520.85 2103.56,-487.82"/>
<polygon fill="#953103" stroke="black" points="2106.34,-489.96 2109.08,-479.72 2100.55,-486.01 2106.34,-489.96"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_users -->
<g id="edge293" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2905.99,-2531.6C3557.12,-2528.16 11266.38,-2486.94 11319.29,-2467.84 11378.14,-2446.6 11369.55,-2400.3 11428.29,-2378.75 11532.88,-2340.38 13342.42,-2407.21 13433.29,-2342.75 13467.73,-2318.32 13434.47,-2281.41 13466.29,-2253.65 13915.38,-1861.87 14479.54,-2480.21 14775.29,-1962.8"/>
<path fill="none" stroke="black" d="M14775.29,-1960.8C14778.88,-1941.19 14779.47,-1919.21 14778.95,-1900.27"/>
<polygon fill="#953103" stroke="black" points="14782.45,-1900.28 14778.55,-1890.43 14775.46,-1900.56 14782.45,-1900.28"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge294" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2752.29,-2422.3C2684.99,-2383.33 2829.23,-2083.63 2752.29,-2072.34"/>
<path fill="none" stroke="black" d="M2752.29,-2070.34C2549.29,-2040.65 2309.91,-1995 2202.91,-1974.04"/>
<polygon fill="#953103" stroke="black" points="2203.72,-1970.63 2193.23,-1972.14 2202.37,-1977.5 2203.72,-1970.63"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge295" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2906.14,-2531.65C3525.83,-2529.05 10519.31,-2499.11 11428.29,-2467.84 12335.23,-2436.64 12561.09,-2407.05 13466.29,-2342.75 14155.68,-2293.77 14332.31,-2316.8 15016.29,-2217.65 15054.9,-2212.05 15097.91,-2202.98 15131,-2195.37"/>
<polygon fill="#953103" stroke="black" points="15131.4,-2198.87 15140.35,-2193.2 15129.82,-2192.05 15131.4,-2198.87"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_core_report_console -->
<g id="edge296" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2906.36,-2531.88C3382.01,-2532.27 7552.06,-2533.84 7802.29,-2467.84 7881.74,-2446.89 7890.15,-2414.19 7964.29,-2378.75 8013.82,-2355.07 8072.32,-2331.68 8112.04,-2316.46"/>
<polygon fill="#953103" stroke="black" points="8113.2,-2319.76 8121.3,-2312.93 8110.71,-2313.22 8113.2,-2319.76"/>
</g>
<!-- ahriman_core_formatters_aur_printer -->
<g id="node70" class="node">
<title>ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#914f30" stroke="black" cx="2972.29" cy="-2634.6" rx="45.92" ry="36.54"/>
<text text-anchor="middle" x="2972.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2972.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2972.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2972.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aur_printer</text>
</g>
<!-- ahriman_core_formatters_aur_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge297" class="edge">
<title>ahriman_core_formatters_aur_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2942.52,-2606.6C2928.16,-2593.57 2910.87,-2577.89 2896.02,-2564.43"/>
<polygon fill="#914f30" stroke="black" points="2898.48,-2561.94 2888.72,-2557.81 2893.78,-2567.12 2898.48,-2561.94"/>
</g>
<!-- ahriman_core_formatters_build_printer -->
<g id="node71" class="node">
<title>ahriman_core_formatters_build_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15735" stroke="black" cx="3461.29" cy="-2634.6" rx="48.58" ry="36.54"/>
<text text-anchor="middle" x="3461.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3461.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3461.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="3461.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_printer</text>
</g>
<!-- ahriman_core_formatters_build_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge298" class="edge">
<title>ahriman_core_formatters_build_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3419.42,-2615.61C3402.83,-2609.11 3383.42,-2602.29 3365.29,-2597.83 3205.45,-2558.44 3010.73,-2542.45 2917.38,-2536.69"/>
<polygon fill="#a15735" stroke="black" points="2917.67,-2533.2 2907.48,-2536.1 2917.25,-2540.19 2917.67,-2533.2"/>
</g>
<!-- ahriman_core_formatters_configuration_printer -->
<g id="node72" class="node">
<title>ahriman_core_formatters_configuration_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15735" stroke="black" cx="2250.29" cy="-2634.6" rx="73.58" ry="36.54"/>
<text text-anchor="middle" x="2250.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2250.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2250.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2250.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration_printer</text>
</g>
<!-- ahriman_core_formatters_configuration_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge299" class="edge">
<title>ahriman_core_formatters_configuration_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2302.16,-2608.56C2312.3,-2604.43 2322.99,-2600.61 2333.29,-2597.83 2501.93,-2552.3 2709.59,-2539.12 2806.97,-2535.34"/>
<polygon fill="#a15735" stroke="black" points="2806.91,-2538.84 2816.77,-2534.98 2806.65,-2531.85 2806.91,-2538.84"/>
</g>
<!-- ahriman_core_formatters_package_printer -->
<g id="node73" class="node">
<title>ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#914f30" stroke="black" cx="3295.29" cy="-2634.6" rx="60.62" ry="36.54"/>
<text text-anchor="middle" x="3295.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3295.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3295.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="3295.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_printer</text>
</g>
<!-- ahriman_core_formatters_package_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge300" class="edge">
<title>ahriman_core_formatters_package_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3243.5,-2614.98C3225.81,-2609.01 3205.82,-2602.7 3187.29,-2597.83 3092.85,-2572.99 2980.7,-2552.95 2915.89,-2542.27"/>
<polygon fill="#914f30" stroke="black" points="2916.67,-2538.85 2906.24,-2540.69 2915.54,-2545.76 2916.67,-2538.85"/>
</g>
<!-- ahriman_core_formatters_patch_printer -->
<g id="node74" class="node">
<title>ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="2746.29" cy="-2634.6" rx="51.74" ry="36.54"/>
<text text-anchor="middle" x="2746.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2746.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2746.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2746.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">patch_printer</text>
</g>
<!-- ahriman_core_formatters_patch_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge301" class="edge">
<title>ahriman_core_formatters_patch_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2778.6,-2605.81C2793.87,-2592.67 2812.12,-2576.98 2827.68,-2563.6"/>
<polygon fill="#995333" stroke="black" points="2829.56,-2566.6 2834.86,-2557.43 2824.99,-2561.29 2829.56,-2566.6"/>
</g>
<!-- ahriman_core_formatters_printer -->
<g id="node75" class="node">
<title>ahriman_core_formatters_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b0603a" stroke="black" cx="2388.29" cy="-2634.6" rx="45.92" ry="36.54"/>
<text text-anchor="middle" x="2388.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2388.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2388.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2388.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">printer</text>
</g>
<!-- ahriman_core_formatters_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge302" class="edge">
<title>ahriman_core_formatters_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2421.4,-2608.88C2428.35,-2604.63 2435.84,-2600.67 2443.29,-2597.83 2567.45,-2550.51 2724.91,-2538.11 2806.92,-2534.9"/>
<polygon fill="#b0603a" stroke="black" points="2806.84,-2538.41 2816.71,-2534.56 2806.6,-2531.41 2806.84,-2538.41"/>
</g>
<!-- ahriman_core_formatters_status_printer -->
<g id="node76" class="node">
<title>ahriman_core_formatters_status_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15735" stroke="black" cx="3582.29" cy="-2634.6" rx="53.98" ry="36.54"/>
<text text-anchor="middle" x="3582.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3582.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3582.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="3582.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status_printer</text>
</g>
<!-- ahriman_core_formatters_status_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge303" class="edge">
<title>ahriman_core_formatters_status_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3543.79,-2608.42C3535.95,-2604.25 3527.56,-2600.45 3519.29,-2597.83 3407.42,-2562.39 3054.12,-2542.7 2917.23,-2536.24"/>
<polygon fill="#a15735" stroke="black" points="2917.48,-2532.75 2907.33,-2535.78 2917.16,-2539.74 2917.48,-2532.75"/>
</g>
<!-- ahriman_core_formatters_string_printer -->
<g id="node77" class="node">
<title>ahriman_core_formatters_string_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b0603a" stroke="black" cx="3126.29" cy="-2634.6" rx="51.74" ry="36.54"/>
<text text-anchor="middle" x="3126.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3126.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3126.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="3126.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">string_printer</text>
</g>
<!-- ahriman_core_formatters_string_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge304" class="edge">
<title>ahriman_core_formatters_string_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3086.73,-2610.63C3078.16,-2606.09 3069.03,-2601.57 3060.29,-2597.83 3011.72,-2577.03 2954.02,-2559.11 2913.48,-2547.57"/>
<polygon fill="#b0603a" stroke="black" points="2914.55,-2544.23 2903.98,-2544.89 2912.66,-2550.97 2914.55,-2544.23"/>
</g>
<!-- ahriman_core_formatters_tree_printer -->
<g id="node78" class="node">
<title>ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="2862.29" cy="-2634.6" rx="45.92" ry="36.54"/>
<text text-anchor="middle" x="2862.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2862.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2862.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2862.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">tree_printer</text>
</g>
<!-- ahriman_core_formatters_tree_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge305" class="edge">
<title>ahriman_core_formatters_tree_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2862.29,-2597.58C2862.29,-2589.78 2862.29,-2581.49 2862.29,-2573.56"/>
<polygon fill="#995333" stroke="black" points="2865.79,-2573.8 2862.29,-2563.8 2858.79,-2573.8 2865.79,-2573.8"/>
</g>
<!-- ahriman_core_formatters_update_printer -->
<g id="node79" class="node">
<title>ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="2507.29" cy="-2634.6" rx="55.31" ry="36.54"/>
<text text-anchor="middle" x="2507.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2507.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2507.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2507.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update_printer</text>
</g>
<!-- ahriman_core_formatters_update_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge306" class="edge">
<title>ahriman_core_formatters_update_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2547.39,-2608.85C2555.13,-2604.75 2563.32,-2600.85 2571.29,-2597.83 2650.85,-2567.6 2748.34,-2549.79 2807.86,-2540.93"/>
<polygon fill="#995333" stroke="black" points="2808.35,-2544.39 2817.74,-2539.49 2807.34,-2537.47 2808.35,-2544.39"/>
</g>
<!-- ahriman_core_formatters_user_printer -->
<g id="node80" class="node">
<title>ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="2628.29" cy="-2634.6" rx="48.17" ry="36.54"/>
<text text-anchor="middle" x="2628.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2628.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2628.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2628.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user_printer</text>
</g>
<!-- ahriman_core_formatters_user_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge307" class="edge">
<title>ahriman_core_formatters_user_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2663.81,-2609.69C2670.78,-2605.46 2678.15,-2601.31 2685.29,-2597.83 2726.54,-2577.71 2775.82,-2560.4 2811.89,-2548.88"/>
<polygon fill="#995333" stroke="black" points="2812.7,-2552.29 2821.19,-2545.95 2810.6,-2545.61 2812.7,-2552.29"/>
</g>
<!-- ahriman_core_formatters_validation_printer -->
<g id="node81" class="node">
<title>ahriman_core_formatters_validation_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15735" stroke="black" cx="1964.29" cy="-2634.6" rx="62.87" ry="36.54"/>
<text text-anchor="middle" x="1964.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1964.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1964.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="1964.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">validation_printer</text>
</g>
<!-- ahriman_core_formatters_validation_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge308" class="edge">
<title>ahriman_core_formatters_validation_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2008.55,-2608.32C2017.49,-2604.17 2027,-2600.39 2036.29,-2597.83 2182.12,-2557.59 2646.02,-2540.27 2806.79,-2535.37"/>
<polygon fill="#a15735" stroke="black" points="2806.88,-2538.87 2816.77,-2535.08 2806.67,-2531.88 2806.88,-2538.87"/>
</g>
<!-- ahriman_core_formatters_version_printer -->
<g id="node82" class="node">
<title>ahriman_core_formatters_version_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15735" stroke="black" cx="2102.29" cy="-2634.6" rx="56.64" ry="36.54"/>
<text text-anchor="middle" x="2102.29" y="-2648.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2102.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2102.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2102.29" y="-2615.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">version_printer</text>
</g>
<!-- ahriman_core_formatters_version_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge309" class="edge">
<title>ahriman_core_formatters_version_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2142.06,-2608.39C2150.15,-2604.23 2158.79,-2600.43 2167.29,-2597.83 2286.73,-2561.21 2664.67,-2542.06 2807.18,-2536"/>
<polygon fill="#a15735" stroke="black" points="2807.28,-2539.5 2817.12,-2535.58 2806.98,-2532.51 2807.28,-2539.5"/>
</g>
<!-- ahriman_core_gitremote -->
<g id="node83" class="node">
<title>ahriman_core_gitremote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b64f20" stroke="black" cx="5950.29" cy="-1742.73" rx="40.11" ry="28.98"/>
<text text-anchor="middle" x="5950.29" y="-1751.23" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5950.29" y="-1740.23" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5950.29" y="-1729.23" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote</text>
</g>
<!-- ahriman_core_gitremote_remote_pull&#45;&gt;ahriman_core_gitremote_remote_pull_trigger -->
<g id="edge310" class="edge">
<title>ahriman_core_gitremote_remote_pull&#45;&gt;ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4662.42,-2175.44C4737.63,-2168.42 4889.46,-2154.47 5018.29,-2144.11 5358.25,-2116.78 5763.9,-2089.07 5933.51,-2077.71"/>
<polygon fill="#733e26" stroke="black" points="5933.57,-2081.21 5943.32,-2077.05 5933.1,-2074.23 5933.57,-2081.21"/>
</g>
<!-- ahriman_core_gitremote_remote_pull_trigger&#45;&gt;ahriman_core_gitremote -->
<g id="edge311" class="edge">
<title>ahriman_core_gitremote_remote_pull_trigger&#45;&gt;ahriman_core_gitremote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6025.13,-2034.83C6038.64,-1983.95 6056.43,-1888.39 6025.29,-1815.5 6017.61,-1797.52 6002.97,-1781.89 5988.65,-1769.84"/>
<polygon fill="#995333" stroke="black" points="5991.02,-1767.26 5981.02,-1763.76 5986.66,-1772.73 5991.02,-1767.26"/>
</g>
<!-- ahriman_core_gitremote_remote_push&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge312" class="edge">
<title>ahriman_core_gitremote_remote_push&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5430.16,-1951.26C5527.62,-1932.61 5744.1,-1891.19 5861.99,-1868.63"/>
<polygon fill="#733e26" stroke="black" points="5862.44,-1872.11 5871.6,-1866.79 5861.12,-1865.23 5862.44,-1872.11"/>
</g>
<!-- ahriman_core_gitremote_remote_push_trigger&#45;&gt;ahriman_core_gitremote -->
<g id="edge313" class="edge">
<title>ahriman_core_gitremote_remote_push_trigger&#45;&gt;ahriman_core_gitremote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5944.95,-1815.46C5945.72,-1805.16 5946.56,-1793.86 5947.34,-1783.35"/>
<polygon fill="#733e26" stroke="black" points="5950.83,-1783.64 5948.08,-1773.41 5943.85,-1783.12 5950.83,-1783.64"/>
</g>
<!-- ahriman_core_log -->
<g id="node88" class="node">
<title>ahriman_core_log</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d14505" stroke="black" cx="8550.29" cy="-2634.6" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="8550.29" y="-2643.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8550.29" y="-2632.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8550.29" y="-2621.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log</text>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge314" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8513.38,-2626.02C8409.68,-2604.9 8106.72,-2544.24 7853.29,-2503.84 7733.3,-2484.72 7693.7,-2516.31 7582.29,-2467.84 7376.64,-2378.38 7000.79,-1936.99 6812.29,-1815.5 6505.28,-1617.63 6365.16,-1679.22 6068.29,-1466.43 5976.55,-1400.68 5977.06,-1357.87 5892.29,-1283.36 5878.48,-1271.22 5862.73,-1258.96 5848,-1248.1"/>
<polygon fill="#d14505" stroke="black" points="5850.36,-1245.49 5840.21,-1242.42 5846.23,-1251.14 5850.36,-1245.49"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge315" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8588.91,-2633.35C8904.54,-2631.28 11055.37,-2615.23 11337.29,-2561.83 11373.06,-2555.05 11377.92,-2535.58 11414.29,-2533.83"/>
<path fill="none" stroke="black" d="M11414.29,-2531.83C12153.46,-2496.45 12335.37,-2446.43 13072.29,-2378.75 13247.39,-2362.66 13291.52,-2362.13 13466.29,-2342.75 13920.34,-2292.4 14466.27,-2215.37 14641.91,-2190.17"/>
<polygon fill="#d14505" stroke="black" points="14642.28,-2193.65 14651.68,-2188.77 14641.28,-2186.72 14642.28,-2193.65"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_application_lock -->
<g id="edge316" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11414.29,-2531.83C12308.83,-2489.01 12533.26,-2498.75 13428.29,-2467.84 13854.05,-2453.14 14367.02,-2433.27 14537.82,-2426.59"/>
<polygon fill="#d14505" stroke="black" points="14537.91,-2430.09 14547.77,-2426.2 14537.64,-2423.09 14537.91,-2430.09"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge317" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8512.11,-2630.68C8415.47,-2623.46 8153.25,-2604.82 7934.29,-2597.83 7592.73,-2586.92 2123.01,-2598.81 1783.29,-2561.83 1557.79,-2537.28 1294.93,-2467.79 1189.06,-2438.06"/>
<polygon fill="#d14505" stroke="black" points="1190.15,-2434.73 1179.58,-2435.39 1188.25,-2441.47 1190.15,-2434.73"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge318" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8512.11,-2630.7C8415.47,-2623.52 8153.24,-2604.95 7934.29,-2597.83 6795.97,-2560.8 3946.16,-2630.05 2809.29,-2561.83 2805.92,-2561.62 879.47,-2343.89 876.29,-2342.75 867.56,-2339.62 858.83,-2335.15 850.68,-2330.26"/>
<polygon fill="#d14505" stroke="black" points="852.67,-2327.38 842.35,-2324.97 848.91,-2333.29 852.67,-2327.38"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge319" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8586.36,-2623.99C8713.9,-2590.03 9143.59,-2475.61 9288.28,-2437.08"/>
<polygon fill="#d14505" stroke="black" points="9289.17,-2440.46 9297.93,-2434.51 9287.37,-2433.7 9289.17,-2440.46"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_auth_auth -->
<g id="edge320" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8588.61,-2632.57C8721.94,-2628.63 9177.7,-2612.09 9550.29,-2561.83 9656.28,-2547.53 9918.5,-2493.65 10022.29,-2467.84 10210.48,-2421.06 10256.71,-2405.22 10440.29,-2342.75 10545.24,-2307.03 10565.41,-2279.22 10673.29,-2253.65 10828.89,-2216.77 10873.63,-2244.42 11031.29,-2217.65 11808.16,-2085.73 12733.87,-1821.57 12952.42,-1757.81"/>
<polygon fill="#d14505" stroke="black" points="12953.39,-1761.17 12962.01,-1755.01 12951.43,-1754.45 12953.39,-1761.17"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge321" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8511.75,-2630.82C8414.81,-2623.97 8152.93,-2606.17 7934.29,-2597.83 7061,-2564.49 6839.04,-2636.21 5968.29,-2561.83 5648.09,-2534.47 5268.68,-2463.4 5127.69,-2435.64"/>
<polygon fill="#d14505" stroke="black" points="5128.74,-2432.28 5118.25,-2433.77 5127.39,-2439.14 5128.74,-2432.28"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge322" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8527.17,-2610.9C8510.47,-2592.02 8490.76,-2563.54 8490.29,-2533.83"/>
<path fill="none" stroke="black" d="M8490.29,-2531.83C8489.21,-2463.77 8490.09,-2446.62 8495.29,-2378.75 8505.76,-2241.98 8561.43,-2206.38 8532.29,-2072.34"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_database_migrations -->
<g id="edge323" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8588.59,-2632.38C8721.83,-2627.82 9177.36,-2609.49 9550.29,-2561.83 9691.06,-2543.83 9723.91,-2524.64 9864.29,-2503.84 10107.41,-2467.82 10399.54,-2439.91 10519.15,-2429.13"/>
<polygon fill="#d14505" stroke="black" points="10519.36,-2432.62 10529.01,-2428.24 10518.74,-2425.65 10519.36,-2432.62"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_database_operations_operations -->
<g id="edge324" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_database_operations_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8490.29,-2531.83C8489.91,-2508.24 8501.01,-2485.01 8513.76,-2466.21"/>
<polygon fill="#d14505" stroke="black" points="8516.45,-2468.47 8519.43,-2458.3 8510.76,-2464.39 8516.45,-2468.47"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge325" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8511.73,-2631.32C8414.73,-2625.62 8152.74,-2610.25 7934.29,-2597.83 7647.2,-2581.49 7570.6,-2616.5 7288.29,-2561.83 7209.5,-2546.57 7196.04,-2519.3 7117.29,-2503.84 6858.19,-2453 6783.21,-2519.57 6524.29,-2467.84 6405.74,-2444.16 6385.1,-2405.86 6267.29,-2378.75 6108.68,-2342.25 4948.82,-2217.42 4673.7,-2188.09"/>
<polygon fill="#d14505" stroke="black" points="4674.22,-2184.62 4663.9,-2187.04 4673.48,-2191.58 4674.22,-2184.62"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge326" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8512.59,-2628.41C8430.12,-2616.99 8227.53,-2588.57 8058.29,-2561.83 7812.47,-2522.98 7739.93,-2553.54 7506.29,-2467.84 7151.36,-2337.66 7136.23,-2143.74 6774.29,-2034.57 6709.85,-2015.14 5707.1,-1975.37 5443.41,-1965.21"/>
<polygon fill="#d14505" stroke="black" points="5443.79,-1961.72 5433.66,-1964.84 5443.52,-1968.72 5443.79,-1961.72"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_report_report -->
<g id="edge327" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8490.29,-2531.83C8489.64,-2491.03 8580.07,-2492.2 8605.29,-2467.84 8620.48,-2453.17 8617.74,-2444.37 8624.29,-2424.3"/>
<path fill="none" stroke="black" d="M8624.29,-2422.3C8641.26,-2370.28 8655.79,-2343.93 8624.29,-2299.2"/>
<path fill="none" stroke="black" d="M8624.29,-2297.2C8594.98,-2255.58 8545.82,-2223.16 8510.1,-2203.44"/>
<polygon fill="#d14505" stroke="black" points="8512.21,-2200.6 8501.75,-2198.93 8508.89,-2206.76 8512.21,-2200.6"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge328" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8573.87,-2611.8C8579.93,-2606.82 8586.63,-2601.83 8593.29,-2597.83 8629.51,-2576.06 8654.49,-2594.5 8681.29,-2561.83 8821.84,-2390.49 8607.98,-2216.51 8776.29,-2072.34"/>
<path fill="none" stroke="black" d="M8776.29,-2070.34C8850.47,-2002.97 9142.24,-1976.51 9291.02,-1967.24"/>
<polygon fill="#d14505" stroke="black" points="9291.07,-1970.75 9300.84,-1966.64 9290.65,-1963.76 9291.07,-1970.75"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge329" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8587.89,-2627.26C8705.84,-2607.13 9078.76,-2541.64 9383.29,-2467.84 9421.68,-2458.54 9464.87,-2446.79 9496.85,-2437.83"/>
<polygon fill="#d14505" stroke="black" points="9497.53,-2441.28 9506.2,-2435.2 9495.63,-2434.54 9497.53,-2441.28"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_spawn -->
<g id="edge330" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8589.07,-2633.65C8899.18,-2633.9 10971.29,-2632.93 11238.29,-2561.83 11242.57,-2560.69 11246.88,-2559.13 11251.1,-2557.34"/>
<polygon fill="#d14505" stroke="black" points="11252.42,-2560.59 11259.95,-2553.14 11249.41,-2554.27 11252.42,-2560.59"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_status_watcher -->
<g id="edge331" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8588.97,-2632.72C8758.57,-2628.59 9431.67,-2609.34 9512.29,-2561.83 9538.83,-2546.18 9523.87,-2519.7 9550.29,-2503.84 9701.81,-2412.88 9789.34,-2549.08 9946.29,-2467.84 9992.51,-2443.92 9978.69,-2407.17 10022.29,-2378.75 10184.74,-2272.85 10249.93,-2290.64 10440.29,-2253.65 10609.43,-2220.79 10664.11,-2275.84 10826.29,-2217.65 11214.07,-2078.52 11190.49,-1851.15 11514.29,-1596.42 11552.86,-1566.07 11586.29,-1578.09 11604.29,-1532.43"/>
<path fill="none" stroke="black" d="M11604.29,-1530.43C11615.43,-1487.51 11605.95,-1474.97 11604.29,-1430.67"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_status_web_client -->
<g id="edge332" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8588.76,-2632.64C8870.55,-2625.42 10619.51,-2576.69 11137.29,-2467.84 11164.07,-2462.21 11193.01,-2452.77 11216.68,-2444.11"/>
<polygon fill="#d14505" stroke="black" points="11217.59,-2447.51 11225.74,-2440.74 11215.14,-2440.95 11217.59,-2447.51"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge333" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8511.74,-2631.07C8414.77,-2624.79 8152.84,-2608.19 7934.29,-2597.83 7717.05,-2587.52 7169.84,-2602.95 6956.29,-2561.83 6881.19,-2547.36 6869.24,-2519 6794.29,-2503.84 6510.26,-2446.42 6423,-2543.56 6143.29,-2467.84 6128.37,-2463.8 6113.04,-2456.93 6099.58,-2449.82"/>
<polygon fill="#d14505" stroke="black" points="6101.47,-2446.87 6091.02,-2445.12 6098.09,-2453 6101.47,-2446.87"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge334" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8511.73,-2631.29C8414.74,-2625.52 8152.75,-2610 7934.29,-2597.83 7634.77,-2581.13 7558.18,-2597.14 7260.29,-2561.83 7119.36,-2545.12 7087.16,-2521.02 6946.29,-2503.84 6681.99,-2471.61 6610.35,-2514.95 6348.29,-2467.84 6319.46,-2462.66 6288.25,-2453.58 6262.37,-2445.05"/>
<polygon fill="#d14505" stroke="black" points="6263.65,-2441.79 6253.06,-2441.92 6261.42,-2448.43 6263.65,-2441.79"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_upload_upload -->
<g id="edge335" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8511.79,-2631.28C8337.32,-2620.76 7625.06,-2577.21 7526.29,-2561.83 7418.71,-2545.08 7395.77,-2521.16 7288.29,-2503.84 7091.95,-2472.21 7031.54,-2528.94 6842.29,-2467.84 6831.24,-2464.28 6820.1,-2458.72 6810.01,-2452.76"/>
<polygon fill="#d14505" stroke="black" points="6811.93,-2449.84 6801.58,-2447.53 6808.23,-2455.78 6811.93,-2449.84"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_models_package -->
<g id="edge336" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8559.04,-2663.08C8567.08,-2692.84 8575.99,-2741.35 8563.29,-2780.9 8518.83,-2919.38 8308.53,-3240.83 8182.29,-3313.04 7902.62,-3473.02 7052.94,-3373.74 6738.29,-3443.03 6663.6,-3459.47 6650.16,-3481.22 6576.29,-3501.01 6469.95,-3529.5 6342.12,-3549.21 6273.54,-3558.65"/>
<polygon fill="#d14505" stroke="black" points="6273.18,-3555.16 6263.74,-3559.98 6274.12,-3562.1 6273.18,-3555.16"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_web_web -->
<g id="edge337" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8588.12,-2628.84C8677.58,-2617.57 8909.11,-2588.18 9102.29,-2561.83 9282.89,-2537.19 9327.32,-2525.63 9508.29,-2503.84 9589.65,-2494.05 9803.29,-2506.98 9875.29,-2467.84 9919.77,-2443.66 9912.05,-2416.05 9946.29,-2378.75 10000.94,-2319.2 10003.99,-2285.48 10078.29,-2253.65 10222.48,-2191.87 10649.55,-2299.64 10783.29,-2217.65 11328.38,-1883.5 10811.45,-1287.29 11300.29,-875.19"/>
<path fill="none" stroke="black" d="M11300.29,-873.19C11446.69,-764.28 12003.6,-903.7 12113.29,-757.87"/>
<path fill="none" stroke="black" d="M12113.29,-755.87C12150.44,-706.48 12138.22,-630.33 12125.84,-584.78"/>
<polygon fill="#d14505" stroke="black" points="12129.26,-584 12123.14,-575.35 12122.53,-585.93 12129.26,-584"/>
</g>
<!-- ahriman_core_log_filtered_access_logger -->
<g id="node89" class="node">
<title>ahriman_core_log_filtered_access_logger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b8643d" stroke="black" cx="13917.29" cy="-991.51" rx="80.72" ry="36.54"/>
<text text-anchor="middle" x="13917.29" y="-1005.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13917.29" y="-994.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13917.29" y="-983.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="13917.29" y="-972.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">filtered_access_logger</text>
</g>
<!-- ahriman_core_log_filtered_access_logger&#45;&gt;ahriman_web_web -->
<g id="edge338" class="edge">
<title>ahriman_core_log_filtered_access_logger&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13876.01,-959.75C13796.62,-902.31 13615.14,-779.18 13442.29,-720.1 13114.78,-608.17 13015.45,-647.21 12671.29,-610.57 12447.1,-586.69 12381.81,-637.4 12165.29,-574.57 12161.03,-573.33 12156.73,-571.72 12152.53,-569.88"/>
<polygon fill="#b8643d" stroke="black" points="12154.22,-566.82 12143.7,-565.63 12151.19,-573.12 12154.22,-566.82"/>
</g>
<!-- ahriman_core_log_http_log_handler&#45;&gt;ahriman_core_log_log -->
<g id="edge339" class="edge">
<title>ahriman_core_log_http_log_handler&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10095.72,-2852.71C9842.47,-2852.41 8893.11,-2846.83 8601.29,-2780.9 8587.5,-2777.79 8573.11,-2772.57 8560.18,-2767.07"/>
<polygon fill="#a15735" stroke="black" points="8561.65,-2763.89 8551.09,-2763.03 8558.81,-2770.29 8561.65,-2763.89"/>
</g>
<!-- ahriman_core_log_lazy_logging -->
<g id="node91" class="node">
<title>ahriman_core_log_lazy_logging</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c26e47" stroke="black" cx="8660.29" cy="-2744.13" rx="50.41" ry="36.54"/>
<text text-anchor="middle" x="8660.29" y="-2758.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="8660.29" y="-2747.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="8660.29" y="-2736.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">log.</text>
<text text-anchor="middle" x="8660.29" y="-2725.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">lazy_logging</text>
</g>
<!-- ahriman_core_log_lazy_logging&#45;&gt;ahriman_core_log -->
<g id="edge340" class="edge">
<title>ahriman_core_log_lazy_logging&#45;&gt;ahriman_core_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8630.81,-2714.32C8615.42,-2699.27 8596.6,-2680.87 8581.03,-2665.65"/>
<polygon fill="#c26e47" stroke="black" points="8583.9,-2663.56 8574.3,-2659.07 8579,-2668.56 8583.9,-2663.56"/>
</g>
<!-- ahriman_core_log_log&#45;&gt;ahriman_core_log -->
<g id="edge341" class="edge">
<title>ahriman_core_log_log&#45;&gt;ahriman_core_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8527.14,-2708.81C8530.64,-2697.75 8534.54,-2685.41 8538.12,-2674.07"/>
<polygon fill="#a15735" stroke="black" points="8541.44,-2675.17 8541.12,-2664.58 8534.77,-2673.06 8541.44,-2675.17"/>
</g>
<!-- ahriman_core_report -->
<g id="node93" class="node">
<title>ahriman_core_report</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db4905" stroke="black" cx="6680.29" cy="-1961.8" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="6680.29" y="-1970.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6680.29" y="-1959.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6680.29" y="-1948.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report</text>
</g>
<!-- ahriman_core_report_console&#45;&gt;ahriman_core_report_report -->
<g id="edge342" class="edge">
<title>ahriman_core_report_console&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8206.69,-2286.78C8259.42,-2274.38 8345.44,-2251.07 8414.29,-2217.65 8418.56,-2215.58 8422.87,-2213.18 8427.09,-2210.64"/>
<polygon fill="#82472b" stroke="black" points="8206.07,-2283.33 8197.11,-2288.99 8207.64,-2290.15 8206.07,-2283.33"/>
<polygon fill="#82472b" stroke="black" points="8428.89,-2213.64 8435.43,-2205.3 8425.12,-2207.74 8428.89,-2213.64"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_email -->
<g id="edge345" class="edge">
<title>ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9474.7,-2173.82C9403.77,-2165.99 9274.79,-2152.36 9164.29,-2144.11 9027.18,-2133.88 8043.77,-2086.06 7810.04,-2074.75"/>
<polygon fill="#8b3c18" stroke="black" points="7810.52,-2071.27 7800.36,-2074.28 7810.18,-2078.26 7810.52,-2071.27"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_html -->
<g id="edge346" class="edge">
<title>ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9477.08,-2167.86C9388.06,-2146.96 9205.95,-2104.2 9118.83,-2083.74"/>
<polygon fill="#8b3c18" stroke="black" points="9119.69,-2080.35 9109.16,-2081.47 9118.09,-2087.16 9119.69,-2080.35"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_telegram -->
<g id="edge347" class="edge">
<title>ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9535.55,-2144.37C9537.24,-2136.12 9539.06,-2127.22 9540.83,-2118.58"/>
<polygon fill="#8b3c18" stroke="black" points="9544.23,-2119.43 9542.8,-2108.93 9537.37,-2118.03 9544.23,-2119.43"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_email -->
<g id="edge349" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8417.3,-2172.42C8288.08,-2152.74 7939.07,-2099.58 7809.55,-2079.85"/>
<polygon fill="#913307" stroke="black" points="8416.42,-2175.83 8426.83,-2173.87 8417.47,-2168.91 8416.42,-2175.83"/>
<polygon fill="#913307" stroke="black" points="7810.34,-2076.43 7799.93,-2078.38 7809.29,-2083.35 7810.34,-2076.43"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_html -->
<g id="edge350" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8515.18,-2171.18C8628.52,-2151 8908.16,-2101.21 9021.45,-2081.04"/>
<polygon fill="#913307" stroke="black" points="8514.79,-2167.69 8505.56,-2172.89 8516.02,-2174.58 8514.79,-2167.69"/>
<polygon fill="#913307" stroke="black" points="9021.8,-2084.53 9031.03,-2079.33 9020.57,-2077.64 9021.8,-2084.53"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge351" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8427.74,-2177.56C8199.96,-2163.85 7030.19,-2093.41 6743.68,-2076.16"/>
<polygon fill="#913307" stroke="black" points="6743.99,-2072.67 6733.8,-2075.57 6743.57,-2079.66 6743.99,-2072.67"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_telegram -->
<g id="edge352" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8516.29,-2176.76C8719.62,-2164.04 9474.82,-2116.31 9498.29,-2108.11 9502.83,-2106.53 9507.34,-2104.44 9511.7,-2102.06"/>
<polygon fill="#913307" stroke="black" points="8516.07,-2173.27 8506.31,-2177.39 8516.51,-2180.26 8516.07,-2173.27"/>
<polygon fill="#913307" stroke="black" points="9513.5,-2105.05 9520.24,-2096.87 9509.87,-2099.07 9513.5,-2105.05"/>
</g>
<!-- ahriman_core_report_report_trigger&#45;&gt;ahriman_core_report -->
<g id="edge353" class="edge">
<title>ahriman_core_report_report_trigger&#45;&gt;ahriman_core_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6680.29,-2034.53C6680.29,-2024.24 6680.29,-2012.94 6680.29,-2002.43"/>
<polygon fill="#82472b" stroke="black" points="6683.79,-2002.49 6680.29,-1992.49 6676.79,-2002.49 6683.79,-2002.49"/>
</g>
<!-- ahriman_core_repository -->
<g id="node101" class="node">
<title>ahriman_core_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db4905" stroke="black" cx="8863.29" cy="-1531.43" rx="42.35" ry="28.98"/>
<text text-anchor="middle" x="8863.29" y="-1539.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8863.29" y="-1528.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8863.29" y="-1517.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository</text>
</g>
<!-- ahriman_core_repository&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge355" class="edge">
<title>ahriman_core_repository&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8821.37,-1526.07C8494.13,-1492.06 6348.92,-1269.12 5884.05,-1220.81"/>
<polygon fill="#db4905" stroke="black" points="5884.55,-1217.34 5874.24,-1219.79 5883.82,-1224.31 5884.55,-1217.34"/>
</g>
<!-- ahriman_core_repository&#45;&gt;ahriman_core_status_watcher -->
<g id="edge356" class="edge">
<title>ahriman_core_repository&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8905.78,-1527.82C9142.02,-1513.25 10317.5,-1439.52 11276.29,-1356.9 11385.69,-1347.47 11513.75,-1334 11582.54,-1326.57"/>
<polygon fill="#db4905" stroke="black" points="11582.79,-1330.07 11592.36,-1325.51 11582.04,-1323.11 11582.79,-1330.07"/>
</g>
<!-- ahriman_core_repository_cleaner -->
<g id="node102" class="node">
<title>ahriman_core_repository_cleaner</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b4572d" stroke="black" cx="9361.29" cy="-1852.27" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="9361.29" y="-1866.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9361.29" y="-1855.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9361.29" y="-1844.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="9361.29" y="-1833.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">cleaner</text>
</g>
<!-- ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_executor -->
<g id="edge357" class="edge">
<title>ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9320.34,-1838.93C9255.14,-1819.29 9127.84,-1780.94 9056.3,-1759.39"/>
<polygon fill="#b4572d" stroke="black" points="9057.34,-1756.05 9046.76,-1756.52 9055.33,-1762.76 9057.34,-1756.05"/>
</g>
<!-- ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge358" class="edge">
<title>ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9361.29,-1815.46C9361.29,-1807.65 9361.29,-1799.27 9361.29,-1791.09"/>
<polygon fill="#b4572d" stroke="black" points="9364.79,-1791.26 9361.29,-1781.26 9357.79,-1791.26 9364.79,-1791.26"/>
</g>
<!-- ahriman_core_repository_executor&#45;&gt;ahriman_core_repository_repository -->
<g id="edge359" class="edge">
<title>ahriman_core_repository_executor&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9004.29,-1705.92C9004.29,-1698.11 9004.29,-1689.73 9004.29,-1681.55"/>
<polygon fill="#733e26" stroke="black" points="9007.79,-1681.72 9004.29,-1671.72 9000.79,-1681.72 9007.79,-1681.72"/>
</g>
<!-- ahriman_core_repository_repository&#45;&gt;ahriman_core_repository -->
<g id="edge360" class="edge">
<title>ahriman_core_repository_repository&#45;&gt;ahriman_core_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8971.23,-1608.8C8950.38,-1594.05 8923.38,-1574.95 8901.6,-1559.54"/>
<polygon fill="#733e26" stroke="black" points="8903.74,-1556.76 8893.55,-1553.84 8899.69,-1562.47 8903.74,-1556.76"/>
</g>
<!-- ahriman_core_repository_repository_properties&#45;&gt;ahriman_core_repository_cleaner -->
<g id="edge361" class="edge">
<title>ahriman_core_repository_repository_properties&#45;&gt;ahriman_core_repository_cleaner</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9373.29,-1925C9371.96,-1917.01 9370.52,-1908.44 9369.12,-1900.09"/>
<polygon fill="#733e26" stroke="black" points="9372.61,-1899.7 9367.51,-1890.41 9365.7,-1900.85 9372.61,-1899.7"/>
</g>
<!-- ahriman_core_repository_update_handler&#45;&gt;ahriman_core_repository_repository -->
<g id="edge362" class="edge">
<title>ahriman_core_repository_update_handler&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9317.15,-1718.28C9307.78,-1713.82 9297.83,-1709.46 9288.29,-1705.96 9210.18,-1677.31 9115.92,-1655.96 9058.05,-1644.29"/>
<polygon fill="#82472b" stroke="black" points="9058.96,-1640.9 9048.46,-1642.38 9057.59,-1647.77 9058.96,-1640.9"/>
</g>
<!-- ahriman_core_sign -->
<g id="node107" class="node">
<title>ahriman_core_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db652f" stroke="black" cx="9828.29" cy="-2423.3" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="9828.29" y="-2431.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="9828.29" y="-2420.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="9828.29" y="-2409.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">sign</text>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge363" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9808.12,-2398.1C9787.28,-2373.18 9753.74,-2333.28 9724.29,-2299.2"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_repository_repository -->
<g id="edge364" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9484.29,-2070.34C9461.39,-2047.18 9474.38,-1956.31 9465.29,-1925.03 9450.3,-1873.47 9454.94,-1850.59 9414.29,-1815.5 9371.82,-1778.83 9336.71,-1815.03 9293.29,-1779.5 9279.36,-1768.1 9276.69,-1761.57 9274.29,-1743.73"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge365" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9824.09,-2394.23C9817.9,-2359.22 9803.93,-2298.52 9776.29,-2253.65 9739.43,-2193.83 9724.15,-2177.43 9662.29,-2144.11 9598.5,-2109.75 9560.85,-2152.11 9503.29,-2108.11 9488.99,-2097.18 9497.31,-2084.77 9484.29,-2072.34"/>
<path fill="none" stroke="black" d="M9484.29,-2070.34C9470.83,-2056.73 9472.89,-2048.99 9460.29,-2034.57 9450.14,-2022.96 9438.17,-2011.42 9426.59,-2001.1"/>
<polygon fill="#db652f" stroke="black" points="9429.23,-1998.76 9419.4,-1994.81 9424.63,-2004.02 9429.23,-1998.76"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge366" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9496.29,-2297.2C9490.94,-2273.44 9497.19,-2247.27 9505.55,-2225.87"/>
<polygon fill="#93401a" stroke="black" points="9508.69,-2227.44 9509.33,-2216.86 9502.23,-2224.73 9508.69,-2227.44"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository -->
<g id="edge367" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9520.76,-2394.39C9508.66,-2379.49 9494.03,-2360.59 9482.29,-2342.75 9386.34,-2196.98 9342.91,-2165.88 9293.29,-1998.57 9260.99,-1889.68 9289.29,-1856.31 9274.29,-1743.73"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge368" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9528.47,-2389.71C9517.43,-2365.37 9503.44,-2330.98 9496.29,-2299.2"/>
<path fill="none" stroke="black" d="M9496.29,-2297.2C9484.02,-2242.7 9447.71,-2237.73 9446.29,-2181.88"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_application_handlers_web -->
<g id="edge369" class="edge">
<title>ahriman_core_spawn&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11317.45,-2511.96C11340.65,-2492.67 11371.08,-2460.98 11376.29,-2424.3"/>
<path fill="none" stroke="black" d="M11376.29,-2422.3C11379.14,-2402.17 11376.7,-2393.09 11362.29,-2378.75 11324.62,-2341.27 11284.32,-2381.8 11248.29,-2342.75 11164.68,-2252.13 11165.8,-2193.93 11186.29,-2072.34"/>
<path fill="none" stroke="black" d="M11186.29,-2070.34C11207.06,-1976.13 11186.29,-1949.74 11186.29,-1853.27 11186.29,-1853.27 11186.29,-1853.27 11186.29,-1100.05 11186.29,-971.91 11194.64,-919.2 11286.29,-829.64 11535.7,-585.93 11805.63,-842.95 12028.29,-574.57 12065.5,-529.71 12090.8,-483.59 12047.29,-444.81"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_web_views_base -->
<g id="edge370" class="edge">
<title>ahriman_core_spawn&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11376.29,-2422.3C11391.75,-2227.54 11642.29,-2267.71 11642.29,-2072.34 11642.29,-2072.34 11642.29,-2072.34 11642.29,-1960.8 11642.29,-1387.09 12494.54,-1075.78 12706.83,-1007.13"/>
<polygon fill="#ae4b1e" stroke="black" points="12707.71,-1010.53 12716.16,-1004.14 12705.57,-1003.86 12707.71,-1010.53"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_web_web -->
<g id="edge371" class="edge">
<title>ahriman_core_spawn&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11186.29,-2070.34C11189.12,-2053.51 11191.47,-2049.19 11200.29,-2034.57 11222.06,-1998.48 11255.28,-2004.37 11262.29,-1962.8"/>
<path fill="none" stroke="black" d="M11262.29,-1960.8C11278.32,-1865.67 11262.29,-1840.21 11262.29,-1743.73 11262.29,-1743.73 11262.29,-1743.73 11262.29,-1530.43 11262.29,-1437.4 11236.5,-1410.5 11262.29,-1321.13"/>
</g>
<!-- ahriman_core_status -->
<g id="node110" class="node">
<title>ahriman_core_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f95a10" stroke="black" cx="11548.29" cy="-3057.2" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="11548.29" y="-3065.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="11548.29" y="-3054.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="11548.29" y="-3043.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">status</text>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_application_lock -->
<g id="edge372" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11587.07,-3056.01C11806.76,-3054.71 12889.99,-3045.27 13024.29,-2984.43 13118.63,-2941.69 13093.39,-2862.7 13186.29,-2816.9 13441.68,-2691.01 14181.97,-2735.91 14459.29,-2671.36 14505.26,-2660.66 14529.82,-2672.47 14559.29,-2635.6"/>
<path fill="none" stroke="black" d="M14559.29,-2633.6C14561.96,-2630.29 14579.94,-2523.36 14589.82,-2463.65"/>
<polygon fill="#f95a10" stroke="black" points="14593.26,-2464.32 14591.44,-2453.88 14586.35,-2463.18 14593.26,-2464.32"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_core_log_http_log_handler -->
<g id="edge373" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11510.43,-3051.37C11302.09,-3024.8 10303.55,-2897.32 10272.29,-2890.44 10255.91,-2886.84 10238.51,-2881.94 10222.36,-2876.93"/>
<polygon fill="#f95a10" stroke="black" points="10223.44,-2873.6 10212.85,-2873.92 10221.33,-2880.28 10223.44,-2873.6"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge374" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11550.94,-3027.94C11555.12,-2971.8 11559.14,-2843.18 11520.29,-2745.13"/>
<path fill="none" stroke="black" d="M11520.29,-2743.13C11508.43,-2707.65 11494.92,-2703.81 11476.29,-2671.36 11402.8,-2543.37 11435.56,-2469.65 11319.29,-2378.75 11262.03,-2333.98 10754.86,-2238.7 10685.29,-2217.65 10650.22,-2207.04 10403.25,-2130.55 10374.29,-2108.11 10359.15,-2096.39 10366.4,-2082.68 10350.29,-2072.34"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_web_views_base -->
<g id="edge375" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11581.96,-3042.63C11703.05,-2993.62 12111.52,-2826.21 12155.29,-2780.9 12396.19,-2531.52 12623.9,-1657.93 12706.29,-1321.13"/>
<path fill="none" stroke="black" d="M12706.29,-1319.13C12712.78,-1217.11 12778.01,-1204.18 12782.29,-1102.05"/>
<path fill="none" stroke="black" d="M12782.29,-1100.05C12781.46,-1078.94 12776.22,-1056.21 12770.49,-1037.11"/>
<polygon fill="#f95a10" stroke="black" points="12773.89,-1036.25 12767.54,-1027.77 12767.21,-1038.36 12773.89,-1036.25"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_web_web -->
<g id="edge376" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11520.29,-2743.13C11505.1,-2695.89 11501.54,-2683.92 11490.29,-2635.6"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_application_lock -->
<g id="edge377" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10998.63,-3053.11C11087.12,-3046.1 11312.52,-3028.94 11501.29,-3020.43 11542.65,-3018.56 12958.88,-3010.2 12991.29,-2984.43 13051.45,-2936.58 12983.85,-2874.91 13034.29,-2816.9 13118.18,-2720.42 13175.28,-2734.18 13300.29,-2707.36 13422.68,-2681.11 14316.44,-2731.38 14426.29,-2671.36 14509.78,-2625.75 14560.69,-2519.38 14583,-2462.22"/>
<polygon fill="#9c3d11" stroke="black" points="14586.13,-2463.82 14586.42,-2453.23 14579.59,-2461.33 14586.13,-2463.82"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_log_http_log_handler -->
<g id="edge378" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10922.77,-3048.09C10818.83,-3025.45 10518.57,-2958.66 10272.29,-2890.44 10256.29,-2886.01 10239.15,-2880.85 10223.15,-2875.86"/>
<polygon fill="#9c3d11" stroke="black" points="10224.32,-2872.56 10213.73,-2872.89 10222.22,-2879.23 10224.32,-2872.56"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge379" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10945.26,-3023.32C10909.11,-2944.11 10814.65,-2736.37 10738.29,-2561.83 10720.56,-2521.31 10689.08,-2412.31 10660.29,-2378.75 10640.53,-2355.72 10625.92,-2361.77 10602.29,-2342.75 10489.01,-2251.59 10465.83,-2221.08 10374.29,-2108.11 10362.23,-2093.24 10366.31,-2082.83 10350.29,-2072.34"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_status_web_client -->
<g id="edge380" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10966.51,-3009.24C10973.93,-2960.18 10988.41,-2881.51 11012.29,-2816.9 11050.63,-2713.17 11069.74,-2690.37 11130.29,-2597.83 11162.32,-2548.87 11204.58,-2496.52 11233.44,-2462.27"/>
<polygon fill="#9c3d11" stroke="black" points="10963.08,-3008.55 10965.08,-3018.95 10970,-3009.56 10963.08,-3008.55"/>
<polygon fill="#9c3d11" stroke="black" points="11236.06,-2464.59 11239.86,-2454.69 11230.72,-2460.06 11236.06,-2464.59"/>
</g>
<!-- ahriman_core_status_watcher&#45;&gt;ahriman_web_views_base -->
<g id="edge381" class="edge">
<title>ahriman_core_status_watcher&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11668.42,-1306.64C11783.51,-1267.17 12152.3,-1143.05 12464.29,-1064.28 12543.39,-1044.31 12565.36,-1048.93 12644.29,-1028.28 12665.34,-1022.77 12688.27,-1015.52 12707.72,-1008.99"/>
<polygon fill="#7a3b1e" stroke="black" points="12708.66,-1012.36 12717,-1005.83 12706.41,-1005.74 12708.66,-1012.36"/>
</g>
<!-- ahriman_core_status_watcher&#45;&gt;ahriman_web_web -->
<g id="edge382" class="edge">
<title>ahriman_core_status_watcher&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11643.92,-1284.97C11673.71,-1198.46 11752.32,-975.98 11780.29,-954.74 11892.15,-869.78 11981.35,-1002.26 12094.29,-918.74 12111.27,-906.18 12104.41,-894.35 12113.29,-875.19"/>
<path fill="none" stroke="black" d="M12113.29,-873.19C12134.67,-826.61 12082.48,-798.83 12113.29,-757.87"/>
</g>
<!-- ahriman_core_tree -->
<g id="node114" class="node">
<title>ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#bc5b2f" stroke="black" cx="3221.29" cy="-3158.96" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="3221.29" y="-3167.46" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3221.29" y="-3156.46" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3221.29" y="-3145.46" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">tree</text>
</g>
<!-- ahriman_core_tree&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge384" class="edge">
<title>ahriman_core_tree&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3234.59,-3131.42C3251.07,-3097.82 3279.31,-3037.84 3298.29,-2984.43 3313.19,-2942.48 3370.35,-2627.76 3403.29,-2597.83 3473.36,-2534.14 3534.19,-2613.9 3613.29,-2561.83 3829.97,-2419.17 3931.29,-2331.77 3931.29,-2072.34 3931.29,-2072.34 3931.29,-2072.34 3931.29,-1960.8 3931.29,-1777.24 4045.33,-1296.04 4182.29,-1173.82 4221.9,-1138.47 4361.67,-1118.85 4455.76,-1109.38"/>
<polygon fill="#bc5b2f" stroke="black" points="4455.89,-1112.89 4465.49,-1108.42 4455.2,-1105.92 4455.89,-1112.89"/>
</g>
<!-- ahriman_core_tree&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge385" class="edge">
<title>ahriman_core_tree&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3183.85,-3151.54C3149.43,-3145.7 3096.97,-3136.95 3051.29,-3129.97 2938.15,-3112.67 2905.79,-3127.29 2796.29,-3093.97 2724.49,-3072.12 2716.64,-3040.34 2644.29,-3020.43 2465.79,-2971.3 2403.83,-3046.14 2229.29,-2984.43 2185.83,-2969.06 2186.18,-2943.32 2143.29,-2926.44 2047.82,-2888.88 2001.4,-2946.2 1915.29,-2890.44 1882.52,-2869.23 1898.05,-2840.92 1867.29,-2816.9 1828.73,-2786.8 1805.73,-2805.22 1763.29,-2780.9 1719.65,-2755.9 1722.25,-2729.89 1677.29,-2707.36 1612.12,-2674.72 1562.82,-2728.28 1517.29,-2671.36 1496.87,-2645.84 1512.39,-2630.14 1517.29,-2597.83 1566.74,-2271.71 1649.96,-2207.11 1737.29,-1889.03 1768.12,-1776.73 1798.29,-1750.65 1798.29,-1634.19 1798.29,-1634.19 1798.29,-1634.19 1798.29,-990.51 1798.29,-867 1868.42,-850.35 1950.29,-757.87"/>
<path fill="none" stroke="black" d="M1950.29,-755.87C1961.92,-740.67 1960.75,-733.64 1974.29,-720.1 1984.41,-709.98 2011.16,-692.04 2035.38,-676.63"/>
<polygon fill="#bc5b2f" stroke="black" points="2036.99,-679.75 2043.57,-671.45 2033.25,-673.84 2036.99,-679.75"/>
</g>
<!-- ahriman_core_triggers -->
<g id="node115" class="node">
<title>ahriman_core_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d14505" stroke="black" cx="6112.29" cy="-2298.2" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="6112.29" y="-2306.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6112.29" y="-2295.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6112.29" y="-2284.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers</text>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge386" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6073.79,-2294.26C5916.58,-2282.17 5327.84,-2236.06 5246.29,-2217.65 5153.9,-2196.8 5138.87,-2164.05 5046.29,-2144.11 4384.16,-2001.5 4202.3,-2076.51 3526.29,-2034.57 3014.41,-2002.82 2395.13,-1974.05 2204.76,-1965.43"/>
<polygon fill="#d14505" stroke="black" points="2205.03,-1961.94 2194.88,-1964.98 2204.71,-1968.93 2205.03,-1961.94"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_pull_trigger -->
<g id="edge387" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6115.55,-2268.89C6117.49,-2245.33 6118.52,-2211.06 6112.29,-2181.88"/>
<path fill="none" stroke="black" d="M6112.29,-2179.88C6106.19,-2151.33 6085.63,-2126.64 6064.9,-2108.15"/>
<polygon fill="#d14505" stroke="black" points="6067.39,-2105.67 6057.51,-2101.84 6062.84,-2110.99 6067.39,-2105.67"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge388" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6112.29,-2179.88C6098.69,-2116.19 6119.38,-2094.25 6093.29,-2034.57 6068.82,-1978.63 6021.66,-1926.37 5986.52,-1892.47"/>
<polygon fill="#d14505" stroke="black" points="5989.08,-1890.07 5979.42,-1885.72 5984.26,-1895.14 5989.08,-1890.07"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge389" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6312.29,-2179.88C6407.77,-2117.24 6540.55,-2090.26 6617.75,-2079.28"/>
<polygon fill="#d14505" stroke="black" points="6617.8,-2082.81 6627.23,-2077.98 6616.85,-2075.87 6617.8,-2082.81"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge390" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6143.44,-2280.69C6183.36,-2259.21 6254.31,-2219.92 6312.29,-2181.88"/>
<path fill="none" stroke="black" d="M6312.29,-2179.88C6366.75,-2144.16 6282.68,-2077.93 6331.29,-2034.57 6378.08,-1992.84 8525.61,-2000.49 8588.29,-1998.57 8843.9,-1990.76 9145.71,-1975.41 9291.6,-1967.61"/>
<polygon fill="#d14505" stroke="black" points="9291.37,-1971.13 9301.17,-1967.1 9291,-1964.14 9291.37,-1971.13"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge391" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6312.29,-2179.88C6336.66,-2163.9 6356.67,-2138.13 6370.83,-2115.82"/>
<polygon fill="#d14505" stroke="black" points="6373.7,-2117.84 6375.93,-2107.48 6367.73,-2114.19 6373.7,-2117.84"/>
</g>
<!-- ahriman_core_triggers_trigger&#45;&gt;ahriman_core_triggers -->
<g id="edge392" class="edge">
<title>ahriman_core_triggers_trigger&#45;&gt;ahriman_core_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6072.9,-2388.98C6080.02,-2372.75 6088.62,-2353.16 6095.95,-2336.43"/>
<polygon fill="#8a4b2e" stroke="black" points="6099.15,-2337.87 6099.96,-2327.3 6092.74,-2335.05 6099.15,-2337.87"/>
</g>
<!-- ahriman_core_triggers_trigger_loader&#45;&gt;ahriman_core_triggers -->
<g id="edge393" class="edge">
<title>ahriman_core_triggers_trigger_loader&#45;&gt;ahriman_core_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6181.1,-2390.27C6167.71,-2372.56 6151.1,-2350.57 6137.55,-2332.64"/>
<polygon fill="#82472b" stroke="black" points="6140.51,-2330.75 6131.69,-2324.88 6134.93,-2334.97 6140.51,-2330.75"/>
</g>
<!-- ahriman_core_upload -->
<g id="node118" class="node">
<title>ahriman_core_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db4905" stroke="black" cx="6394.29" cy="-1961.8" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="6394.29" y="-1970.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6394.29" y="-1959.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6394.29" y="-1948.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload</text>
</g>
<!-- ahriman_core_upload_github&#45;&gt;ahriman_core_upload_upload -->
<g id="edge394" class="edge">
<title>ahriman_core_upload_github&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9078.8,-2184.68C8983.19,-2191.51 8727.15,-2209.13 8513.29,-2217.65 8464.65,-2219.59 6795.35,-2218.88 6761.29,-2253.65 6729.82,-2285.77 6739.29,-2339.93 6751.93,-2378.2"/>
<polygon fill="#82472b" stroke="black" points="6748.62,-2379.32 6755.23,-2387.6 6755.22,-2377 6748.62,-2379.32"/>
</g>
<!-- ahriman_core_upload_http_upload&#45;&gt;ahriman_core_upload_github -->
<g id="edge395" class="edge">
<title>ahriman_core_upload_http_upload&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9143.78,-2262.29C9140.14,-2251.24 9136.06,-2238.86 9132.22,-2227.19"/>
<polygon fill="#914f30" stroke="black" points="9135.55,-2226.12 9129.1,-2217.72 9128.9,-2228.31 9135.55,-2226.12"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge398" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6806.58,-2410.81C6841.85,-2400.25 6897.14,-2385.27 6946.29,-2378.75 7319.11,-2329.28 8262.72,-2362.54 8638.29,-2342.75 8804.94,-2333.96 9001.16,-2315.09 9096.87,-2305.32"/>
<polygon fill="#8a360f" stroke="black" points="9097.21,-2308.81 9106.8,-2304.31 9096.5,-2301.84 9097.21,-2308.81"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge399" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6726.19,-2400.23C6681.49,-2377.86 6612.73,-2343.46 6568.12,-2321.13"/>
<polygon fill="#8a360f" stroke="black" points="6724.48,-2403.29 6734.99,-2404.63 6727.61,-2397.03 6724.48,-2403.29"/>
<polygon fill="#8a360f" stroke="black" points="6569.75,-2318.03 6559.24,-2316.69 6566.62,-2324.29 6569.75,-2318.03"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge400" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6784.17,-2377.32C6787.47,-2366.65 6790.98,-2355.25 6794.28,-2344.56"/>
<polygon fill="#8a360f" stroke="black" points="6780.92,-2375.97 6781.32,-2386.56 6787.61,-2378.04 6780.92,-2375.97"/>
<polygon fill="#8a360f" stroke="black" points="6797.58,-2345.77 6797.18,-2335.18 6790.89,-2343.7 6797.58,-2345.77"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge401" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6743.25,-2397.13C6677.77,-2336.19 6510.49,-2180.49 6433.79,-2109.11"/>
<polygon fill="#8a360f" stroke="black" points="6436.59,-2106.93 6426.88,-2102.68 6431.82,-2112.05 6436.59,-2106.93"/>
</g>
<!-- ahriman_core_upload_upload_trigger&#45;&gt;ahriman_core_upload -->
<g id="edge402" class="edge">
<title>ahriman_core_upload_upload_trigger&#45;&gt;ahriman_core_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6394.29,-2034.53C6394.29,-2024.24 6394.29,-2012.94 6394.29,-2002.43"/>
<polygon fill="#82472b" stroke="black" points="6397.79,-2002.49 6394.29,-1992.49 6390.79,-2002.49 6397.79,-2002.49"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_ahriman -->
<g id="edge403" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9032.53,-4431.94C9095.13,-4426.15 9223.44,-4414.69 9332.29,-4407.54 9661.3,-4385.93 9745.15,-4403.84 10073.29,-4371.54 10685.02,-4311.32 10844.75,-4316.31 11441.29,-4168.02 12014.92,-4025.42 12133.23,-3907.95 12695.29,-3724.97 13026.48,-3617.16 13114.39,-3606.66 13446.29,-3501.01 13694.45,-3422.01 13758.6,-3407.52 14001.29,-3313.04 14328.39,-3185.71 15375.29,-2884.85 15375.29,-2533.83 15375.29,-2533.83 15375.29,-2533.83 15375.29,-2297.2 15375.29,-2185.15 15473.56,-2183.28 15489.29,-2072.34"/>
<path fill="none" stroke="black" d="M15489.29,-2070.34C15494.34,-1924.29 15443.65,-1889.67 15451.29,-1743.73"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge404" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8955.78,-4434.13C8710.36,-4424.92 7362.39,-4370.05 6966.29,-4262 6837.41,-4226.85 6544.17,-4060.95 6424.29,-4002.04 6345.25,-3963.19 6329.45,-3944.64 6247.29,-3912.94 6191.35,-3891.36 6170.9,-3903.78 6117.29,-3876.94 6079.61,-3858.08 6075.69,-3844.64 6042.29,-3818.96 5918.96,-3724.13 5870.9,-3716.13 5773.29,-3594.99 5598.47,-3378.05 5264.42,-2743.55 5224.29,-2467.84 5197.6,-2284.52 5123.78,-1791.08 5222.29,-1634.19"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_lock -->
<g id="edge405" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9032.54,-4432.11C9095.16,-4426.57 9223.5,-4415.45 9332.29,-4407.54 9587.67,-4388.97 9654.52,-4412.47 9907.29,-4371.54 10104.02,-4339.68 11447.95,-3961.27 11641.29,-3912.94 11994.78,-3824.58 12083.87,-3805.26 12439.29,-3724.97 12705.86,-3664.76 12783.77,-3689.25 13040.29,-3594.99 13289.62,-3503.37 13338.21,-3447.52 13567.29,-3313.04 13656.09,-3260.92 13676.26,-3244.53 13762.29,-3187.95 13800.8,-3162.62 13807.05,-3150.56 13848.29,-3129.97 13892.05,-3108.11 13908.19,-3115.13 13952.29,-3093.97 14034.67,-3054.42 14054.92,-3041.5 14126.29,-2984.43 14262.03,-2875.87 14251.96,-2794.61 14402.29,-2707.36 14455.25,-2676.63 14485.52,-2707.05 14535.29,-2671.36 14550.85,-2660.21 14546,-2649.38 14559.29,-2635.6"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge406" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8955.76,-4435.32C8681.57,-4433.66 7030.65,-4421.68 6814.29,-4371.54 6737.26,-4353.69 6728.56,-4318.86 6652.29,-4298 6508.7,-4258.74 6467.02,-4280.3 6319.29,-4262 5180.95,-4120.96 4868.02,-4155.87 3783.29,-3782.96 3657.25,-3739.63 3359.48,-3587.87 3236.29,-3537.01 2975.5,-3429.34 2878.01,-3468.09 2642.29,-3313.04 2596.31,-3282.8 2605.29,-3249.01 2556.29,-3223.95 2193.72,-3038.54 2027.08,-3245.97 1649.29,-3093.97 1593.96,-3071.7 1244.76,-2831.56 1213.29,-2780.9 1178.75,-2725.3 1211.47,-2697.18 1189.29,-2635.6"/>
<path fill="none" stroke="black" d="M1189.29,-2633.6C1171.8,-2589.49 1153.45,-2581.23 1151.29,-2533.83"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge407" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8955.54,-4435.5C8672.39,-4435.13 6926.95,-4430.46 6700.29,-4371.54 6631.88,-4353.76 6627.65,-4315.95 6559.29,-4298 6323.81,-4236.16 5707.23,-4278.01 5464.29,-4262 4456.67,-4195.6 4211.38,-4096.88 3203.29,-4038.04 3091.63,-4031.52 1294.05,-4043.79 1190.29,-4002.04 1186.62,-4000.56 1183.06,-3998.65 1179.65,-3996.46"/>
<polygon fill="#c74205" stroke="black" points="1181.82,-3993.71 1171.7,-3990.56 1177.65,-3999.33 1181.82,-3993.71"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge408" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8955.6,-4435.18C8713.33,-4432.82 7402.55,-4418.08 7004.29,-4371.54 6925.01,-4362.28 6907.31,-4347.02 6828.29,-4335.77"/>
<path fill="none" stroke="black" d="M6828.29,-4333.77C6789.33,-4328.22 6785.39,-4307.84 6747.29,-4298 6574.46,-4253.36 6523.67,-4289.41 6347.29,-4262 6229.87,-4243.75 6203.4,-4224.12 6086.29,-4204.02 5956.11,-4181.67 5921.57,-4189.78 5791.29,-4168.02 5441.7,-4109.61 5355.2,-4087.74 5011.29,-4002.04 4815.26,-3953.18 4765.99,-3940.69 4574.29,-3876.94 4131,-3729.53 3063.7,-3238.32 2609.29,-3129.97 2460.62,-3094.52 2416.03,-3129.11 2267.29,-3093.97 1821.51,-2988.63 1641.37,-3004.79 1327.29,-2671.36 1228.56,-2566.56 1297.53,-2472.54 1188.29,-2378.75 1126.75,-2325.91 1031.09,-2308.16 973.1,-2302.21"/>
<polygon fill="#c74205" stroke="black" points="973.47,-2298.73 963.18,-2301.28 972.81,-2305.7 973.47,-2298.73"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge409" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9156.29,-3846.95C9156.29,-3792.28 9308.29,-3433.7 9308.29,-3379.03 9308.29,-3379.03 9308.29,-3379.03 9308.29,-2852.67 9308.29,-2736.1 9314.66,-2700.27 9370.29,-2597.83 9379.96,-2580.01 9391.71,-2581 9398.29,-2561.83 9406.65,-2537.45 9406.66,-2528.21 9398.29,-2503.84 9392.55,-2487.16 9381.73,-2471.29 9370.71,-2458.17"/>
<polygon fill="#c74205" stroke="black" points="9373.35,-2455.87 9364.11,-2450.69 9368.1,-2460.51 9373.35,-2455.87"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge410" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6096.29,-4138.03C6041.4,-4120.97 5917.87,-4041.72 5876.29,-4002.04 5841.57,-3968.9 5848.18,-3947.88 5815.29,-3912.94 5454.84,-3530.02 5150.27,-3584.72 4961.29,-3093.97 4938.92,-3035.88 4937.01,-2593.01 4956.29,-2533.83"/>
<path fill="none" stroke="black" d="M4956.29,-2531.83C4968.1,-2498.05 4997.91,-2470.7 5024.22,-2452.03"/>
<polygon fill="#c74205" stroke="black" points="5026.18,-2454.93 5032.46,-2446.41 5022.23,-2449.15 5026.18,-2454.93"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge411" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9156.29,-3956.49C9146.49,-3909.71 9161.29,-3896.48 9156.29,-3848.95"/>
<path fill="none" stroke="black" d="M9156.29,-3846.95C9150.74,-3794.21 9107.19,-3800.66 9080.29,-3754.97"/>
<path fill="none" stroke="black" d="M9080.29,-3752.97C9034.99,-3676.02 9004.29,-3656.29 9004.29,-3567 9004.29,-3567 9004.29,-3567 9004.29,-3157.96 9004.29,-3010.67 8962.66,-2635.83 8897.29,-2503.84 8841.55,-2391.3 8559.43,-2194.97 8532.29,-2072.34"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge412" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9726.29,-4232.01C10014.82,-4070.84 10037.12,-3954.21 10234.29,-3688.97 10479.16,-3359.55 10499.07,-3249.32 10698.29,-2890.44 10769.72,-2761.77 10774.45,-2722.1 10853.29,-2597.83 10864,-2580.94 10869.15,-2578.44 10880.29,-2561.83 10899.16,-2533.67 10918.66,-2501.14 10933.9,-2474.79"/>
<polygon fill="#c74205" stroke="black" points="10936.82,-2476.74 10938.77,-2466.32 10930.75,-2473.25 10936.82,-2476.74"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge413" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6828.29,-4333.77C6781.81,-4325.51 6773.48,-4311.62 6728.29,-4298 6561.3,-4247.68 6518.61,-4236.69 6347.29,-4204.02 6230.53,-4181.75 6199.12,-4189.9 6082.29,-4168.02 5536.93,-4065.86 5407.3,-4008.56 4868.29,-3876.94 4700.11,-3835.87 4645.71,-3859.2 4490.29,-3782.96 4299.29,-3689.26 4322.33,-3572.19 4153.29,-3443.03 4078.43,-3385.83 4048.66,-3388.88 3963.29,-3349.04 3598.18,-3178.65 3420.81,-3266.68 3133.29,-2984.43 3045.64,-2898.38 3000.78,-2755.63 2982.5,-2682.27"/>
<polygon fill="#c74205" stroke="black" points="2985.91,-2681.48 2980.15,-2672.59 2979.11,-2683.13 2985.91,-2681.48"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge414" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8955.75,-4434.93C8717.24,-4431 7440.14,-4406.88 7056.29,-4335.77"/>
<path fill="none" stroke="black" d="M7056.29,-4333.77C7037.46,-4330.28 7048.62,-4307.99 7032.29,-4298 6974.25,-4262.51 6795.24,-4274.07 6728.29,-4262 6621.14,-4242.68 6596.99,-4225.65 6490.29,-4204.02 6316.42,-4168.77 6268.66,-4181.98 6096.29,-4140.03"/>
<path fill="none" stroke="black" d="M6096.29,-4138.03C5697.6,-4034.57 5599.42,-4002.05 5197.29,-3912.94 5178.7,-3908.82 4537,-3797.13 4524.29,-3782.96 4307.59,-3541.49 4659.53,-2437.19 4643.29,-2299.2"/>
<path fill="none" stroke="black" d="M4643.29,-2297.2C4639.9,-2274.04 4634.01,-2248.74 4628.5,-2227.74"/>
<polygon fill="#c74205" stroke="black" points="4631.95,-2227.09 4625.98,-2218.34 4625.19,-2228.91 4631.95,-2227.09"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_report_email -->
<g id="edge415" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9156.29,-4138.03C9118.27,-4067.87 9193.19,-4029.24 9156.29,-3958.49"/>
<path fill="none" stroke="black" d="M9156.29,-3956.49C9074.61,-3793.93 8616.75,-3616.86 8453.29,-3537.01 8206.49,-3416.45 8046.07,-3529.74 7877.29,-3313.04 7835.16,-3258.95 7858.29,-3228.52 7858.29,-3159.96 7858.29,-3159.96 7858.29,-3159.96 7858.29,-3056.2 7858.29,-2773.63 7838.1,-2702.43 7788.29,-2424.3"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge416" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9156.29,-4333.77C9129.29,-4203.27 9607.37,-4162.91 9688.29,-4057.04"/>
<path fill="none" stroke="black" d="M9688.29,-4055.04C9693.16,-4048.82 9692.39,-3920.79 9693.29,-3912.94 9745.81,-3452.96 9847.86,-3351.28 9892.29,-2890.44 9908.78,-2719.41 10001.89,-2636.17 9892.29,-2503.84 9837.46,-2437.65 9784.01,-2494.44 9702.29,-2467.84 9659.27,-2453.84 9636.33,-2461.28 9610.29,-2424.3"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_report_telegram -->
<g id="edge417" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9688.29,-4055.04C9725.12,-4014.72 9734.89,-4004.51 9764.29,-3958.49"/>
<path fill="none" stroke="black" d="M9764.29,-3956.49C9776.18,-3937.86 9777.34,-3932.14 9788.29,-3912.94 9876.71,-3757.89 9992.29,-3745.49 9992.29,-3567 9992.29,-3567 9992.29,-3567 9992.29,-3377.03 9992.29,-3201.55 10018.35,-3159.19 10034.29,-2984.43 10043.41,-2884.42 10037.08,-2629.28 10068.29,-2533.83"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_repository_executor -->
<g id="edge418" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9080.29,-3752.97C9041.77,-3679.84 9080.29,-3649.65 9080.29,-3567 9080.29,-3567 9080.29,-3567 9080.29,-3471.02 9080.29,-3098.19 9004.29,-3008.43 9004.29,-2635.6 9004.29,-2635.6 9004.29,-2635.6 9004.29,-2070.34 9004.29,-1973.86 8952.38,-1934.59 9004.29,-1853.27"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_repository_repository -->
<g id="edge419" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9028.48,-4422.97C9111.01,-4392.77 9319.58,-4317.16 9391.29,-4298 9537.73,-4258.87 9599.6,-4317.24 9726.29,-4234.01"/>
<path fill="none" stroke="black" d="M9726.29,-4232.01C9751.9,-4215.4 10320.55,-3342.3 10329.29,-3313.04 10357.65,-3218.13 10303.36,-3191.87 10288.29,-3093.97 10283.31,-3061.66 10285.03,-3052.95 10288.29,-3020.43 10309.19,-2811.55 10372.44,-2769.75 10401.29,-2561.83 10412.49,-2481.08 10388.3,-2456.65 10412.29,-2378.75 10418.42,-2358.83 10500.62,-2237.02 10508.29,-2217.65 10532.64,-2156.17 10542.83,-2138.42 10540.29,-2072.34"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge420" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9764.29,-3956.49C9778.12,-3939.25 9773.01,-3928.91 9788.29,-3912.94 9809.52,-3890.74 9823.75,-3896.67 9847.29,-3876.94 9890,-3841.14 9896.92,-3827.59 9930.29,-3782.96 9959.82,-3743.46 9968.17,-3733.54 9989.29,-3688.97 10013.77,-3637.29 10030.29,-3624.19 10030.29,-3567 10030.29,-3567 10030.29,-3567 10030.29,-3471.02 10030.29,-3346.31 10101.19,-3332.1 10163.29,-3223.95 10172.62,-3207.69 10178.9,-3205.58 10185.29,-3187.95 10206.64,-3129.04 10405.31,-2102.3 10350.29,-2072.34"/>
<path fill="none" stroke="black" d="M10350.29,-2070.34C10311.37,-2051.01 10301.62,-2044.39 10259.29,-2034.57 10110.49,-2000.06 9660,-1975.78 9467.76,-1966.73"/>
<polygon fill="#c74205" stroke="black" points="9467.97,-1963.23 9457.82,-1966.26 9467.65,-1970.23 9467.97,-1963.23"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge421" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9156.29,-4232.01C9142.1,-4212.73 9389.76,-3898.43 9400.29,-3876.94 9597.96,-3473.45 9590.63,-3338.71 9621.29,-2890.44 9623.52,-2857.84 9630.45,-2848.28 9621.29,-2816.9 9615.96,-2798.68 9603.61,-2799.13 9598.29,-2780.9 9589.12,-2749.53 9595.14,-2739.9 9598.29,-2707.36 9601.41,-2675.02 9594.26,-2662.64 9612.29,-2635.6"/>
<path fill="none" stroke="black" d="M9612.29,-2633.6C9634.99,-2587.75 9680.09,-2607.92 9702.29,-2561.83 9713.47,-2538.61 9717.3,-2524.79 9702.29,-2503.84 9673.31,-2463.4 9639.65,-2492.23 9596.29,-2467.84 9590.63,-2464.66 9585,-2460.83 9579.65,-2456.78"/>
<polygon fill="#c74205" stroke="black" points="9582.13,-2454.28 9572.13,-2450.78 9577.76,-2459.75 9582.13,-2454.28"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_status_web_client -->
<g id="edge422" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9032.36,-4431.8C9144.96,-4419.7 9484.46,-4375.57 9740.29,-4262 10415.32,-3962.34 10642.38,-3829.49 11008.29,-3187.95 11073.58,-3073.46 11234.23,-2767.02 11224.29,-2635.6"/>
<path fill="none" stroke="black" d="M11224.29,-2633.6C11219.07,-2589.57 11224.38,-2578.17 11224.29,-2533.83"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_github -->
<g id="edge423" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9156.29,-4138.03C9142.05,-4109.5 9262.11,-3905.97 9275.29,-3876.94 9394.18,-3615.07 9498.29,-3557.09 9498.29,-3269.5 9498.29,-3269.5 9498.29,-3269.5 9498.29,-3157.96 9498.29,-2956.36 9380.86,-2898.05 9446.29,-2707.36 9452.87,-2688.19 9464.61,-2689.18 9474.29,-2671.36 9498.88,-2626.08 9503.72,-2612.64 9512.29,-2561.83 9516.57,-2536.41 9523.81,-2526.89 9512.29,-2503.84 9500.36,-2479.99 9484.01,-2485.79 9464.29,-2467.84 9424.7,-2431.83 9422.99,-2414.64 9383.29,-2378.75 9308.86,-2311.46 9212.2,-2244.37 9158.27,-2208.51"/>
<polygon fill="#c74205" stroke="black" points="9160.24,-2205.62 9149.97,-2203.02 9156.38,-2211.46 9160.24,-2205.62"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge424" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9156.29,-3846.95C9124.93,-3497.39 9118.29,-3409.16 9118.29,-3058.2 9118.29,-3058.2 9118.29,-3058.2 9118.29,-2954.43 9118.29,-2718.82 9132.15,-2659.5 9118.29,-2424.3"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge425" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9156.29,-4333.77C9147.3,-4290.35 9182.7,-4269.62 9156.29,-4234.01"/>
<path fill="none" stroke="black" d="M9156.29,-4232.01C9124.16,-4188.68 7297.96,-3895.42 7247.29,-3876.94 7064.43,-3810.24 6866.29,-3855.63 6866.29,-3660.98 6866.29,-3660.98 6866.29,-3660.98 6866.29,-3267.5 6866.29,-2990 6385.4,-2985.37 6524.29,-2745.13"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge426" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9156.29,-4232.01C9131.94,-4199.17 9179.74,-4173.51 9156.29,-4140.03"/>
<path fill="none" stroke="black" d="M9156.29,-4138.03C8957.22,-3853.72 8396.29,-4305.56 8396.29,-3958.49 8396.29,-3958.49 8396.29,-3958.49 8396.29,-3658.98 8396.29,-3135.45 7582.89,-3733 7270.29,-3313.04 7119.57,-3110.57 7241.83,-2996.36 7266.29,-2745.13"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_aur_package -->
<g id="edge427" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8955.55,-4435.27C8654.76,-4433.14 6700.89,-4417.56 6586.29,-4371.54 6541.17,-4353.42 6550.49,-4315.93 6505.29,-4298 6463.12,-4281.27 3491.46,-4241.1 3020.78,-4234.84"/>
<polygon fill="#c74205" stroke="black" points="3021.05,-4231.34 3011,-4234.71 3020.95,-4238.34 3021.05,-4231.34"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_build_status -->
<g id="edge428" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_build_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9032.37,-4432.29C9177.15,-4419.94 9686.04,-4376.3 9702.29,-4371.54 9930.69,-4304.6 10443.51,-3991.21 10652.29,-3876.94 10844.74,-3771.6 10875.55,-3709.83 11080.29,-3630.99 11159.2,-3600.6 11255.83,-3583.1 11316.49,-3574.31"/>
<polygon fill="#c74205" stroke="black" points="11316.85,-3577.8 11326.26,-3572.93 11315.87,-3570.87 11316.85,-3577.8"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_counters -->
<g id="edge429" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9032.55,-4432.28C9095.19,-4426.97 9223.55,-4416.17 9332.29,-4407.54 9542.9,-4390.82 9602.15,-4425.97 9806.29,-4371.54 9903.06,-4345.74 11357.33,-3660.27 11433.29,-3594.99 11444.69,-3585.19 11446.33,-3580.81 11452.29,-3567"/>
<path fill="none" stroke="black" d="M11452.29,-3565C11457.28,-3548.06 11457.22,-3528.6 11455.53,-3511.96"/>
<polygon fill="#c74205" stroke="black" points="11459.06,-3511.94 11454.34,-3502.46 11452.11,-3512.82 11459.06,-3511.94"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package -->
<g id="edge430" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9156.29,-4333.77C9143.82,-4271.58 6952.16,-4033.84 6897.29,-4002.04 6744.42,-3913.44 6746.72,-3838.3 6652.29,-3688.97 6644.85,-3677.22 6650.09,-3668.34 6638.29,-3660.98"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package_description -->
<g id="edge431" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6980.29,-4232.01C6962.7,-4222.05 6962.5,-4199.45 6966.8,-4179.15"/>
<polygon fill="#c74205" stroke="black" points="6970.14,-4180.23 6969.2,-4169.67 6963.35,-4178.51 6970.14,-4180.23"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package_source -->
<g id="edge432" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_package_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9031.73,-4429.79C9083.14,-4419.7 9167.97,-4394.06 9156.29,-4335.77"/>
<path fill="none" stroke="black" d="M9156.29,-4333.77C9132.5,-4215.12 7085.59,-4293.65 6980.29,-4234.01"/>
<path fill="none" stroke="black" d="M6980.29,-4232.01C6857.31,-4162.35 6855.83,-4098.94 6728.29,-4038.04 6665.64,-4008.12 6640.72,-4027.87 6576.29,-4002.04 6503.61,-3972.89 6498.22,-3938.74 6424.29,-3912.94 6317.05,-3875.52 6266.81,-3938.38 6171.29,-3876.94 6140.83,-3857.35 6119.94,-3821.17 6107.51,-3793.28"/>
<polygon fill="#c74205" stroke="black" points="6110.88,-3792.27 6103.75,-3784.44 6104.44,-3795.01 6110.88,-3792.27"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_remote_source -->
<g id="edge433" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7056.29,-4333.77C7037.48,-4330.2 7048.39,-4308.36 7032.29,-4298 6949.7,-4244.86 6905.54,-4298.28 6814.29,-4262 6771.45,-4244.97 6768.08,-4227.29 6728.29,-4204.02 6448.42,-4040.38 6359.5,-4034.71 6076.29,-3876.94 5963.33,-3814.01 5834.93,-3732.31 5769.19,-3689.7"/>
<polygon fill="#c74205" stroke="black" points="5771.13,-3686.79 5760.84,-3684.28 5767.32,-3692.66 5771.13,-3686.79"/>
</g>
<!-- ahriman_models -->
<g id="node126" class="node">
<title>ahriman_models</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f95a10" stroke="black" cx="6096.29" cy="-4851.49" rx="50.75" ry="18"/>
<text text-anchor="middle" x="6096.29" y="-4848.99" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.models</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_ahriman -->
<g id="edge434" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15299.29,-3267.5C15311.99,-3221.42 15286.5,-3206.01 15299.29,-3159.96"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application -->
<g id="edge435" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3607.29,-4601.51C3561.36,-4544.93 3607.29,-4510.41 3607.29,-4437.53 3607.29,-4437.53 3607.29,-4437.53 3607.29,-4138.03 3607.29,-3547.67 3605.73,-3390.53 3745.29,-2816.9 3765.75,-2732.82 3816.29,-2722.14 3816.29,-2635.6 3816.29,-2635.6 3816.29,-2635.6 3816.29,-2422.3 3816.29,-2217.38 3854.29,-2167.72 3854.29,-1962.8 3854.29,-1962.8 3854.29,-1962.8 3854.29,-1851.27 3854.29,-1689.37 3999.98,-1279.89 4122.29,-1173.82 4275.09,-1041.31 4927.21,-1003.32 5126.93,-994.69"/>
<polygon fill="#f95a10" stroke="black" points="5126.96,-998.2 5136.8,-994.28 5126.66,-991.2 5126.96,-998.2"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge436" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3913.75,-4761.79 3942.76,-4721.91 3949.29,-4686.51"/>
<path fill="none" stroke="black" d="M3949.29,-4684.51C3951.06,-4674.88 3941.92,-4674.71 3935.29,-4667.51 3908.47,-4638.37 3897.27,-4635.02 3873.29,-4603.51"/>
<path fill="none" stroke="black" d="M3873.29,-4601.51C3824.64,-4537.59 3797.29,-4517.86 3797.29,-4437.53 3797.29,-4437.53 3797.29,-4437.53 3797.29,-4333.77 3797.29,-4107.95 3949.29,-4074.77 3949.29,-3848.95 3949.29,-3848.95 3949.29,-3848.95 3949.29,-3752.97 3949.29,-3384.98 3949.14,-3291.13 3998.29,-2926.44 4031.52,-2679.85 4005.67,-2602.61 4114.29,-2378.75 4123.38,-2360.01 4133.67,-2360.66 4144.29,-2342.75 4299.41,-2081.06 4218.73,-1953.69 4395.29,-1705.96 4438.75,-1644.98 4460.84,-1637.72 4523.29,-1596.42 4603.48,-1543.38 5258.07,-1298.91 5298.29,-1211.59"/>
<path fill="none" stroke="black" d="M5298.29,-1209.59C5303.58,-1185.98 5316.78,-1162.9 5330.17,-1144.21"/>
<polygon fill="#f95a10" stroke="black" points="5332.86,-1146.45 5336.02,-1136.34 5327.24,-1142.27 5332.86,-1146.45"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge437" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3759.29,-4518.52C3759.58,-4419.93 3769.68,-4395.64 3783.29,-4298 3803.47,-4153.24 3873.29,-3864.63 3873.29,-3848.95 3873.29,-3848.95 3873.29,-3848.95 3873.29,-3565 3873.29,-3509.75 3867.3,-3495.26 3849.29,-3443.03 3828.17,-3381.77 3798.37,-3376.05 3783.29,-3313.04 3712.3,-3016.46 3892.29,-2940.56 3892.29,-2635.6 3892.29,-2635.6 3892.29,-2635.6 3892.29,-2531.83 3892.29,-2024.12 4196.29,-1938.38 4196.29,-1430.67 4196.29,-1430.67 4196.29,-1430.67 4196.29,-1319.13 4196.29,-1195.38 4356.46,-1139.67 4459.79,-1116.61"/>
<polygon fill="#f95a10" stroke="black" points="4460.33,-1120.07 4469.37,-1114.53 4458.85,-1113.23 4460.33,-1120.07"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge438" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15223.29,-3377.03C15237.17,-3331.3 15231.23,-3316.63 15223.29,-3269.5"/>
<path fill="none" stroke="black" d="M15223.29,-3267.5C15196.82,-3110.44 15179.53,-3071.28 15113.29,-2926.44 14977.63,-2629.82 14841.33,-2606.61 14732.29,-2299.2"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge439" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1232.29,-4232.01C1160.6,-4155.57 1272.66,-4106.18 1284.29,-4002.04 1288.68,-3962.68 1286.87,-3952.45 1284.29,-3912.94 1273.07,-3741.54 1061.98,-2547.45 1094.29,-2378.75 1129.47,-2195 1315.27,-1760.42 1405.29,-1596.42 1483.16,-1454.54 1770.65,-1077.68 1983.29,-829.64 2027.18,-778.44 2034.03,-760.15 2088.29,-720.1 2116.23,-699.48 2150.99,-681.88 2179.24,-669.27"/>
<polygon fill="#f95a10" stroke="black" points="2180.57,-672.51 2188.33,-665.3 2177.77,-666.1 2180.57,-672.51"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge440" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M21.29,-3377.03C29.05,-3341.22 52.18,-3343 73.29,-3313.04 99.95,-3275.19 91.55,-3253.39 127.29,-3223.95 163.1,-3194.45 197.94,-3225.43 225.29,-3187.95 312.67,-3068.19 239.29,-3002.93 239.29,-2854.67 239.29,-2854.67 239.29,-2854.67 239.29,-2633.6 239.29,-2592.26 325.25,-2446.92 487.29,-2144.11 513.48,-2095.17 516.71,-2080.9 547.29,-2034.57 581.38,-1982.91 594.2,-1973.03 633.29,-1925.03 1035.65,-1430.94 1139.05,-1309.5 1558.29,-829.64 1601.46,-780.23 1601.21,-754.18 1657.29,-720.1 1724.66,-679.17 1815.1,-661.36 1873.3,-653.76"/>
<polygon fill="#f95a10" stroke="black" points="1873.5,-657.26 1882.99,-652.56 1872.64,-650.32 1873.5,-657.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_search -->
<g id="edge441" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6045.92,-4848.26C5963.88,-4844.71 5796.29,-4837.71 5654.29,-4833.49 4890.46,-4810.8 4699.19,-4817.58 3935.29,-4797.49 3740.48,-4792.37 429.29,-4881.38 429.29,-4686.51 429.29,-4686.51 429.29,-4686.51 429.29,-4232.01 429.29,-4154.24 460.1,-4128.44 429.29,-4057.04"/>
<path fill="none" stroke="black" d="M429.29,-4055.04C405.82,-4009.21 369.48,-4030.05 326.29,-4002.04 235.02,-3942.83 196.87,-3938.63 135.29,-3848.95"/>
<path fill="none" stroke="black" d="M135.29,-3846.95C3.03,-3678.65 -25.15,-3587.98 21.29,-3379.03"/>
<path fill="none" stroke="black" d="M21.29,-3377.03C37.44,-3328.99 31.93,-3312.17 59.29,-3269.5"/>
<path fill="none" stroke="black" d="M59.29,-3267.5C70.26,-3250.38 59.82,-3239.18 73.29,-3223.95 118.06,-3173.29 195.42,-3225.67 211.29,-3159.96"/>
<path fill="none" stroke="black" d="M211.29,-3157.96C242.95,-3026.86 201.29,-2989.54 201.29,-2854.67 201.29,-2854.67 201.29,-2854.67 201.29,-2633.6 201.29,-2094.71 353.29,-1969.55 353.29,-1430.67 353.29,-1430.67 353.29,-1430.67 353.29,-1100.05 353.29,-994.56 355.71,-950.78 429.29,-875.19"/>
<path fill="none" stroke="black" d="M429.29,-873.19C517.44,-779.21 577.5,-810.12 695.29,-757.87"/>
<path fill="none" stroke="black" d="M695.29,-755.87C912.57,-659.49 1202.02,-647.75 1324.09,-647.47"/>
<polygon fill="#f95a10" stroke="black" points="1323.86,-650.97 1333.86,-647.48 1323.86,-643.97 1323.86,-650.97"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge442" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3531.29,-4333.77C3407.5,-3433.23 3740.29,-3208.21 3740.29,-2299.2 3740.29,-2299.2 3740.29,-2299.2 3740.29,-1960.8 3740.29,-1508.92 3663.36,-1401.16 3593.29,-954.74 3575.84,-843.59 3595.67,-776.45 3498.29,-720.1 3419.74,-674.66 2799.66,-655.39 2583.39,-650"/>
<polygon fill="#f95a10" stroke="black" points="2583.77,-646.51 2573.69,-649.77 2583.6,-653.51 2583.77,-646.51"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge443" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3787.79,-4741.58 4161.72,-4759.11 4308.29,-4686.51"/>
<path fill="none" stroke="black" d="M4308.29,-4684.51C4340.54,-4668.53 4287.17,-4632.67 4308.29,-4603.51"/>
<path fill="none" stroke="black" d="M4308.29,-4601.51C4506.42,-4328 4670.7,-4356.86 4855.29,-4074.04 4863.22,-4061.89 5211.39,-3107.62 5216.29,-3093.97 5314.99,-2819.06 5650.29,-2145.36 5650.29,-1853.27 5650.29,-1853.27 5650.29,-1853.27 5650.29,-1741.73 5650.29,-1602.45 5688.29,-1569.94 5688.29,-1430.67 5688.29,-1430.67 5688.29,-1430.67 5688.29,-1319.13 5688.29,-1253.99 5668.52,-1226.15 5707.29,-1173.82 5800.53,-1047.95 5943.42,-1159.94 6028.29,-1028.28 6096.26,-922.83 6037.46,-766.5 6001.81,-691.52"/>
<polygon fill="#f95a10" stroke="black" points="6005.12,-690.33 5997.6,-682.85 5998.82,-693.38 6005.12,-690.33"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_status -->
<g id="edge444" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1379.29,-4518.52C1317.66,-4465.61 1379.29,-4416.99 1379.29,-4335.77 1379.29,-4335.77 1379.29,-4335.77 1379.29,-2633.6 1379.29,-2041.07 1893.64,-2084.4 2170.29,-1560.42 2230.6,-1446.19 2294.29,-1121.68 2294.29,-992.51 2294.29,-992.51 2294.29,-992.51 2294.29,-873.19 2294.29,-805.62 2328.88,-733.86 2354.44,-690.06"/>
<polygon fill="#f95a10" stroke="black" points="2357.34,-692.03 2359.45,-681.65 2351.33,-688.45 2357.34,-692.03"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge445" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15223.29,-3377.03C15233.93,-3341.97 15254.81,-3343.43 15275.29,-3313.04 15287.64,-3294.72 15294.52,-3291.07 15299.29,-3269.5"/>
<path fill="none" stroke="black" d="M15299.29,-3267.5C15307.03,-3232.44 15288.41,-3223.71 15285.29,-3187.95 15283.05,-3162.28 15282.34,-3155.57 15285.29,-3129.97 15301.62,-2988.03 15315.5,-2953.22 15358.29,-2816.9 15379.14,-2750.47 15394.77,-2737.59 15416.29,-2671.36 15435.78,-2611.38 15451.29,-2596.91 15451.29,-2533.83 15451.29,-2533.83 15451.29,-2533.83 15451.29,-2297.2 15451.29,-1749.33 15149.29,-1649.92 15149.29,-1102.05 15149.29,-1102.05 15149.29,-1102.05 15149.29,-873.19 15149.29,-769.64 15029.42,-702.11 14954.7,-670.07"/>
<polygon fill="#f95a10" stroke="black" points="14956.44,-667.01 14945.87,-666.37 14953.74,-673.46 14956.44,-667.01"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge446" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6210.29,-4767.5C6221.16,-4757.11 6216.84,-4747.94 6229.29,-4739.51 6413.5,-4614.58 6512.91,-4717.29 6718.29,-4631.51 6864.8,-4570.31 6887.1,-4526.97 7018.29,-4437.53"/>
<path fill="none" stroke="black" d="M7018.29,-4435.53C7096.58,-4381.68 6870.53,-4448.13 6814.29,-4371.54 6794.94,-4345.2 6798.63,-4326.69 6814.29,-4298 6828.47,-4272.03 6845.81,-4278.62 6870.29,-4262 6906.92,-4237.14 6909.71,-4219.23 6951.29,-4204.02 7045.08,-4169.7 7299.91,-4178.02 7399.29,-4168.02 7744.95,-4133.21 7841.19,-4169.27 8175.29,-4074.04 8357.35,-4022.14 8428.64,-3963.29 8486.29,-3782.96 8494.13,-3758.41 8490.29,-3750.43 8486.29,-3724.97 8469.19,-3616.11 8210.58,-2887.41 8182.29,-2780.9 8145.78,-2643.47 8144.27,-2607.26 8116.29,-2467.84 8100.17,-2387.54 7917.97,-1799.13 7978.29,-1743.73"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_users -->
<g id="edge447" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15223.29,-3267.5C15218.63,-3174.59 15223.29,-3151.22 15223.29,-3058.2 15223.29,-3058.2 15223.29,-3058.2 15223.29,-2633.6 15223.29,-2436.2 15142.53,-2382.84 14993.29,-2253.65 14966.54,-2230.5 14947.54,-2242.43 14922.29,-2217.65 14909.44,-2205.04 14914.83,-2195.7 14903.29,-2181.88"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_lock -->
<g id="edge448" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14720.29,-3658.98C14667.15,-3468.91 14978.75,-3621.19 15135.29,-3501.01 15188.31,-3460.3 15228.59,-3445.67 15223.29,-3379.03"/>
<path fill="none" stroke="black" d="M15223.29,-3377.03C15223.73,-3262.82 14682.52,-2637.83 14635.29,-2533.83"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core -->
<g id="edge449" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6051.73,-4842.57C5966.39,-4827.42 5780.39,-4794.38 5690.68,-4778.45"/>
<polygon fill="#f95a10" stroke="black" points="5691.4,-4775.02 5680.94,-4776.72 5690.17,-4781.91 5691.4,-4775.02"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge450" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M657.29,-4138.03C541.98,-4061.76 895.92,-3057.38 940.29,-2926.44 1004.1,-2738.1 998.01,-2681.54 1087.29,-2503.84 1094.33,-2489.82 1103.49,-2475.36 1112.25,-2462.69"/>
<polygon fill="#f95a10" stroke="black" points="1115.05,-2464.8 1117.96,-2454.61 1109.33,-2460.76 1115.05,-2464.8"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge451" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1232.29,-4232.01C1182.98,-4166.29 1160.29,-4072.06 1150.37,-4013.12"/>
<polygon fill="#f95a10" stroke="black" points="1153.84,-4012.63 1148.79,-4003.31 1146.93,-4013.74 1153.84,-4012.63"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge452" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6045.91,-4848.54C5963.86,-4845.36 5796.25,-4838.88 5654.29,-4833.49 5275.41,-4819.09 4323.45,-4830.84 3949.29,-4769.5"/>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3901.07,-4759.59 2237.57,-4719.17 2191.29,-4703.51 2178.91,-4699.31 2180.19,-4688.6 2167.29,-4686.51"/>
<path fill="none" stroke="black" d="M2167.29,-4684.51C1959.78,-4650.89 1901.18,-4668.57 1701.29,-4603.51"/>
<path fill="none" stroke="black" d="M1701.29,-4601.51C1560.96,-4555.85 1497.62,-4608.7 1379.29,-4520.52"/>
<path fill="none" stroke="black" d="M1379.29,-4518.52C1351.55,-4497.85 1341.71,-4494.15 1322.29,-4465.52 1260.29,-4374.18 1300.01,-4321.19 1232.29,-4234.01"/>
<path fill="none" stroke="black" d="M1232.29,-4232.01C1143.77,-4137.62 768.29,-4206.54 657.29,-4140.03"/>
<path fill="none" stroke="black" d="M657.29,-4138.03C620.85,-4116.19 605.4,-4111.97 586.29,-4074.04 546.69,-3995.44 571.98,-3964.82 567.29,-3876.94 563.68,-3809.49 561.65,-3792.36 566.29,-3724.97 574.97,-3598.77 582.81,-3567.52 605.29,-3443.03 612.89,-3400.91 615.99,-3390.59 626.29,-3349.04 669.8,-3173.5 733.29,-3137.29 733.29,-2956.43 733.29,-2956.43 733.29,-2956.43 733.29,-2852.67 733.29,-2702.18 819.9,-2681.81 847.29,-2533.83"/>
<path fill="none" stroke="black" d="M847.29,-2531.83C853.39,-2465.89 880.23,-2394.02 900.3,-2347.87"/>
<polygon fill="#f95a10" stroke="black" points="903.4,-2349.52 904.24,-2338.96 897,-2346.69 903.4,-2349.52"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge453" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M135.29,-3846.95C90.56,-3777.44 135.29,-3743.63 135.29,-3660.98 135.29,-3660.98 135.29,-3660.98 135.29,-3377.03 135.29,-3308.16 115.1,-3276.78 159.29,-3223.95 190.67,-3186.43 234.09,-3227.19 263.29,-3187.95 351.8,-3069.01 277.29,-3002.93 277.29,-2854.67 277.29,-2854.67 277.29,-2854.67 277.29,-2633.6 277.29,-2499.28 418.91,-2534.78 495.29,-2424.3"/>
<path fill="none" stroke="black" d="M495.29,-2422.3C509.8,-2397.59 526.61,-2370.55 540.81,-2348.12"/>
<polygon fill="#f95a10" stroke="black" points="543.71,-2350.09 546.12,-2339.77 537.8,-2346.34 543.71,-2350.09"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge454" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M429.29,-4055.04C394.03,-3970.5 429.29,-3940.54 429.29,-3848.95 429.29,-3848.95 429.29,-3848.95 429.29,-3565 429.29,-3242.15 581.29,-3177.52 581.29,-2854.67 581.29,-2854.67 581.29,-2854.67 581.29,-2743.13 581.29,-2677.68 580.92,-2658.58 605.29,-2597.83 646.47,-2495.15 727.6,-2392.35 774.18,-2338.24"/>
<polygon fill="#f95a10" stroke="black" points="776.72,-2340.65 780.63,-2330.8 771.43,-2336.06 776.72,-2340.65"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge455" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9878.29,-4684.51C9816.09,-4642.93 9840.29,-4595.34 9840.29,-4520.52 9840.29,-4520.52 9840.29,-4520.52 9840.29,-4055.04 9840.29,-3945.98 9550.9,-3231.96 9512.29,-3129.97 9477.76,-3038.76 9475.02,-3013.1 9430.29,-2926.44 9412.91,-2892.78 9394.5,-2891.16 9384.29,-2854.67"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_auth -->
<g id="edge456" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12871.29,-4684.51C12971.51,-4514.7 13704.33,-4713.81 13743.29,-4520.52"/>
<path fill="none" stroke="black" d="M13743.29,-4518.52C13763.78,-4384.21 13254.33,-4506.53 13137.29,-4437.53"/>
<path fill="none" stroke="black" d="M13137.29,-4435.53C12964.24,-4333.51 13055.77,-4197.47 13009.29,-4002.04 12841.51,-3296.53 12832.09,-3103.82 12844.29,-2378.75 12845.07,-2332.51 12831.12,-2000.22 12858.29,-1962.8"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge457" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13591.29,-4333.77C13539.98,-4264.61 13591.29,-4226.13 13591.29,-4140.03 13591.29,-4140.03 13591.29,-4140.03 13591.29,-3658.98 13591.29,-3230.89 13572.52,-3115.17 13442.29,-2707.36 13392.63,-2551.87 13409.37,-2476.02 13278.29,-2378.75 13201.89,-2322.05 13142.2,-2401.39 13067.29,-2342.75 13050.66,-2329.73 13058.7,-2317.57 13048.29,-2299.2"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge458" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13743.29,-4435.53C13715.05,-4350.53 13743.29,-4323.57 13743.29,-4234.01 13743.29,-4234.01 13743.29,-4234.01 13743.29,-3377.03 13743.29,-3090.75 13618.29,-3031.42 13618.29,-2745.13 13618.29,-2745.13 13618.29,-2745.13 13618.29,-2633.6 13618.29,-2492.32 13539.24,-2466.21 13428.29,-2378.75 13396.39,-2353.6 13373.37,-2371.1 13344.29,-2342.75 13329.04,-2327.88 13333.22,-2318.53 13324.29,-2299.2"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge459" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4025.29,-4518.52C3986.13,-4171.98 4301.96,-4181.63 4524.29,-3912.94 4572.17,-3855.07 4601.39,-3851.42 4632.29,-3782.96 4654.85,-3732.95 4651.29,-3715.85 4651.29,-3660.98 4651.29,-3660.98 4651.29,-3660.98 4651.29,-3471.02 4651.29,-3359.56 4668.78,-3332.45 4694.29,-3223.95 4733.48,-3057.24 4804.29,-3025.92 4804.29,-2854.67 4804.29,-2854.67 4804.29,-2854.67 4804.29,-2743.13 4804.29,-2625.71 4834.78,-2588.37 4916.29,-2503.84 4944.11,-2474.99 4984.66,-2454.69 5017.31,-2441.82"/>
<polygon fill="#f95a10" stroke="black" points="5018.53,-2445.11 5026.63,-2438.28 5016.04,-2438.56 5018.53,-2445.11"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge460" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7018.29,-4333.77C7012.49,-4301.65 7046.41,-4240.96 7123.29,-4204.02 7222.5,-4156.35 8004.32,-4183.55 8113.29,-4168.02 8282.54,-4143.89 8358,-4187.04 8486.29,-4074.04 8803.42,-3794.67 8639.24,-3550.8 8600.29,-3129.97 8591.81,-3038.34 8620.11,-2998.02 8562.29,-2926.44 8536.25,-2894.21 8505.86,-2919.47 8476.29,-2890.44 8463.7,-2878.08 8417.48,-2762 8412.29,-2745.13"/>
<path fill="none" stroke="black" d="M8412.29,-2743.13C8394.3,-2683.41 8366.72,-2234.46 8400.29,-2181.88"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_configuration_configuration -->
<g id="edge461" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6122.32,-4835.78C6146.85,-4821.09 6183.71,-4796.82 6210.29,-4769.5"/>
<path fill="none" stroke="black" d="M6210.29,-4767.5C6242.16,-4734.74 6208.36,-4705.14 6234.29,-4667.51 6299.97,-4572.19 6399.08,-4624.82 6449.29,-4520.52"/>
<path fill="none" stroke="black" d="M6449.29,-4518.52C6459.89,-4473.14 6456.36,-4419.7 6451.42,-4382.38"/>
<polygon fill="#f95a10" stroke="black" points="6454.93,-4382.25 6450.06,-4372.84 6448,-4383.23 6454.93,-4382.25"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_migrations -->
<g id="edge462" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12111.29,-4767.5C12134.24,-4691.83 12232.55,-4768.7 12277.29,-4703.51 12308.13,-4658.57 12244,-4642.86 12206.29,-4603.51"/>
<path fill="none" stroke="black" d="M12206.29,-4601.51C12106.07,-4483.78 12057.11,-4478.3 11945.29,-4371.54 11870.37,-4300.02 11872.9,-4255.95 11783.29,-4204.02 11726.96,-4171.37 11698,-4199.99 11641.29,-4168.02 11325.36,-3989.89 11280.1,-3883.48 11060.29,-3594.99 11031.73,-3557.51 10667.43,-2896.79 10646.29,-2854.67"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge463" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13743.29,-4518.52C13750.4,-4483.24 13754.64,-4471.69 13743.29,-4437.53"/>
<path fill="none" stroke="black" d="M13743.29,-4435.53C13717.81,-4358.85 13641.41,-4399.15 13591.29,-4335.77"/>
<path fill="none" stroke="black" d="M13591.29,-4333.77C13533.91,-4261.22 13515.29,-4232.52 13515.29,-4140.03 13515.29,-4140.03 13515.29,-4140.03 13515.29,-3565 13515.29,-3451.12 13263.2,-2687.61 13193.15,-2477.64"/>
<polygon fill="#f95a10" stroke="black" points="13196.54,-2476.72 13190.05,-2468.35 13189.9,-2478.94 13196.54,-2476.72"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_build_operations -->
<g id="edge464" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_build_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3759.29,-4684.51C3700,-4642.12 3780.89,-4590.13 3759.29,-4520.52"/>
<path fill="none" stroke="black" d="M3759.29,-4518.52C3753.47,-4494.86 3749.95,-4489.44 3745.29,-4465.52 3701.82,-4242.69 3683.29,-4185.51 3683.29,-3958.49 3683.29,-3958.49 3683.29,-3958.49 3683.29,-3846.95 3683.29,-3679.9 3721.29,-3640.06 3721.29,-3473.02 3721.29,-3473.02 3721.29,-3473.02 3721.29,-3377.03 3721.29,-3303.63 3750.63,-3289.69 3783.29,-3223.95 3936.81,-2914.92 4197.04,-2588.9 4295.23,-2470.58"/>
<polygon fill="#f95a10" stroke="black" points="4297.89,-2472.85 4301.6,-2462.92 4292.51,-2468.37 4297.89,-2472.85"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge465" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12111.29,-4767.5C12153.76,-4625.72 12367.89,-4818.77 12434.29,-4686.51"/>
<path fill="none" stroke="black" d="M12434.29,-4684.51C12453.18,-4646.87 12356.21,-4559.09 12339.29,-4520.52"/>
<path fill="none" stroke="black" d="M12339.29,-4518.52C12015.5,-4055.17 11921.99,-3906.29 11428.29,-3630.99 11370.67,-3598.86 11327.28,-3645.03 11284.29,-3594.99 11117.15,-3400.44 11295.75,-3268.42 11230.29,-3020.43 11174,-2807.22 11048.74,-2574.2 10991.66,-2474.3"/>
<polygon fill="#f95a10" stroke="black" points="10994.79,-2472.73 10986.78,-2465.8 10988.72,-2476.21 10994.79,-2472.73"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge466" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12111.29,-4767.5C12112.7,-4762.78 11474.55,-4467.98 11470.29,-4465.52 11269.69,-4349.64 11216.7,-4320.49 11042.29,-4168.02 10966.98,-4102.18 10957.21,-4076.38 10890.29,-4002.04 10817.6,-3921.28 10804.99,-3895.91 10728.29,-3818.96 10520.73,-3610.74 10186.15,-3669.06 10234.29,-3379.03"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_patch_operations -->
<g id="edge467" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_patch_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3858.71,-4752.56 3834.81,-4738.69 3759.29,-4686.51"/>
<path fill="none" stroke="black" d="M3759.29,-4684.51C3696.31,-4640.99 3659.48,-4659.51 3607.29,-4603.51"/>
<path fill="none" stroke="black" d="M3607.29,-4601.51C3523.53,-4511.65 3553.12,-4456.66 3531.29,-4335.77"/>
<path fill="none" stroke="black" d="M3531.29,-4333.77C3494.87,-4179.99 3432.22,-4157.4 3403.29,-4002.04 3396.04,-3963.11 3402.2,-3952.52 3403.29,-3912.94 3410.02,-3668.56 3404.08,-3042.5 3498.29,-2816.9 3509.7,-2789.56 3551.95,-2726.83 3574.29,-2707.36 3600.96,-2684.12 3626.77,-2701.51 3645.29,-2671.36 3662.39,-2643.51 3655.31,-2628.94 3645.29,-2597.83 3634.55,-2564.49 3586.12,-2566.29 3599.29,-2533.83"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge468" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3815.62,-4745.78 3458.34,-4774.92 3343.29,-4703.51 3261.48,-4652.72 3249.19,-4614.29 3227.29,-4520.52"/>
<path fill="none" stroke="black" d="M3227.29,-4518.52C3099.63,-4200.04 3113.29,-4098.09 3113.29,-3754.97 3113.29,-3754.97 3113.29,-3754.97 3113.29,-3565 3113.29,-3409.1 2924.29,-3425.4 2924.29,-3269.5 2924.29,-3269.5 2924.29,-3269.5 2924.29,-3157.96 2924.29,-3068.39 2920.56,-3045.92 2924.29,-2956.43"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_build_printer -->
<g id="edge469" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_build_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3803.02,-4744.19 3303.29,-4751.62 3303.29,-4603.51 3303.29,-4603.51 3303.29,-4603.51 3303.29,-4333.77 3303.29,-4117.63 3265.29,-4065.09 3265.29,-3848.95 3265.29,-3848.95 3265.29,-3848.95 3265.29,-3377.03 3265.29,-3104.24 3390.84,-2793.17 3440.97,-2679.83"/>
<polygon fill="#f95a10" stroke="black" points="3444.09,-2681.43 3444.96,-2670.87 3437.7,-2678.58 3444.09,-2681.43"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_configuration_printer -->
<g id="edge470" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_configuration_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3810.24,-4744.38 2815.48,-4749.63 2682.29,-4703.51 2669.94,-4699.23 2670.46,-4691.26 2658.29,-4686.51"/>
<path fill="none" stroke="black" d="M2658.29,-4684.51C2467.78,-4610.09 2390.7,-4689.84 2205.29,-4603.51"/>
<path fill="none" stroke="black" d="M2205.29,-4601.51C2175.56,-4587.67 1977.29,-4089.83 1977.29,-4057.04 1977.29,-4057.04 1977.29,-4057.04 1977.29,-3056.2 1977.29,-2950.35 2089.33,-2978.34 2148.29,-2890.44 2192.78,-2824.12 2222.73,-2735.42 2238.11,-2682.06"/>
<polygon fill="#f95a10" stroke="black" points="2241.41,-2683.27 2240.76,-2672.69 2234.67,-2681.36 2241.41,-2683.27"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge471" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3227.29,-4518.52C3209.98,-4439.16 3227.29,-4416.99 3227.29,-4335.77 3227.29,-4335.77 3227.29,-4335.77 3227.29,-3956.49 3227.29,-3588.39 3072.78,-3483.79 3174.29,-3129.97 3195.33,-3056.64 3237.82,-3055.6 3265.29,-2984.43 3304.19,-2883.62 3330.76,-2850.83 3308.29,-2745.13"/>
<path fill="none" stroke="black" d="M3308.29,-2743.13C3301.69,-2723.89 3298.35,-2701.71 3296.69,-2682.51"/>
<polygon fill="#f95a10" stroke="black" points="3300.2,-2682.53 3295.98,-2672.81 3293.22,-2683.03 3300.2,-2682.53"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge472" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2582.29,-4601.51C2459.51,-4452.03 2551.96,-4361.27 2543.29,-4168.02 2522.3,-3700.47 2614.85,-3585.95 2720.29,-3129.97 2731.69,-3080.67 2721.17,-3061.08 2751.29,-3020.43 2768.9,-2996.65 2790.8,-3008.99 2807.29,-2984.43 2839.97,-2935.73 2817.56,-2911.69 2831.29,-2854.67"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_printer -->
<g id="edge473" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2205.29,-4601.51C2172.47,-4585.68 2205.29,-4473.97 2205.29,-4437.53 2205.29,-4437.53 2205.29,-4437.53 2205.29,-3056.2 2205.29,-2905.3 2305.55,-2747.34 2357.65,-2675.45"/>
<polygon fill="#f95a10" stroke="black" points="2360.38,-2677.66 2363.47,-2667.52 2354.73,-2673.52 2360.38,-2677.66"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_status_printer -->
<g id="edge474" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_status_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3736.57,-4733.75 3493.29,-4818.89 3493.29,-4603.51 3493.29,-4603.51 3493.29,-4603.51 3493.29,-4435.53 3493.29,-4355.02 3464.14,-4339.2 3441.29,-4262 3407.12,-4146.57 3382.35,-4121.2 3365.29,-4002.04 3303.35,-3569.44 3361.81,-3453.23 3422.29,-3020.43 3435.02,-2929.29 3425.44,-2902.07 3460.29,-2816.9 3481.92,-2764.04 3520.3,-2710.65 3548.25,-2675.64"/>
<polygon fill="#f95a10" stroke="black" points="3550.96,-2677.86 3554.52,-2667.88 3545.51,-2673.45 3550.96,-2677.86"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_tree_printer -->
<g id="edge475" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2658.29,-4684.51C2512.12,-4622.87 2734.29,-4494.4 2734.29,-4335.77 2734.29,-4335.77 2734.29,-4335.77 2734.29,-3157.96 2734.29,-3066.4 2811.67,-3069.58 2845.29,-2984.43 2866.82,-2929.88 2849.67,-2909.94 2869.29,-2854.67"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge476" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2658.29,-4684.51C2612.31,-4666.54 2616.63,-4638.97 2582.29,-4603.51"/>
<path fill="none" stroke="black" d="M2582.29,-4601.51C2552.73,-4571 2540.24,-4568.61 2511.29,-4537.52 2472.87,-4496.28 2459.14,-4487.62 2433.29,-4437.53"/>
<path fill="none" stroke="black" d="M2433.29,-4435.53C2371.84,-4352.99 2319.29,-4336.91 2319.29,-4234.01 2319.29,-4234.01 2319.29,-4234.01 2319.29,-4138.03 2319.29,-3703 2357.29,-3594.98 2357.29,-3159.96 2357.29,-3159.96 2357.29,-3159.96 2357.29,-2852.67 2357.29,-2777.52 2418.89,-2709.54 2463.14,-2670.4"/>
<polygon fill="#f95a10" stroke="black" points="2465.32,-2673.14 2470.6,-2663.95 2460.74,-2667.85 2465.32,-2673.14"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge477" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2433.29,-4435.53C2213.25,-3932.8 2538.26,-3756.35 2671.29,-3223.95 2693.89,-3133.48 2669.22,-3097.1 2722.29,-3020.43 2738.28,-2997.31 2761.24,-3009.32 2774.29,-2984.43 2831.88,-2874.51 2724.84,-2736.74 2664.88,-2672.17"/>
<polygon fill="#f95a10" stroke="black" points="2667.55,-2669.9 2658.14,-2665.03 2662.45,-2674.7 2667.55,-2669.9"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_validation_printer -->
<g id="edge478" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_validation_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1701.29,-4601.51C1632.25,-4578.17 1701.29,-4510.41 1701.29,-4437.53 1701.29,-4437.53 1701.29,-4437.53 1701.29,-2852.67 1701.29,-2750.47 1820.88,-2687.39 1898.78,-2657.15"/>
<polygon fill="#f95a10" stroke="black" points="1899.95,-2660.45 1908.06,-2653.64 1897.47,-2653.9 1899.95,-2660.45"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_version_printer -->
<g id="edge479" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_version_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2167.29,-4684.51C1753.96,-4603.14 1929.06,-3253.86 1963.29,-3020.43 1982.18,-2891.57 2045.31,-2749.9 2079.62,-2679.86"/>
<polygon fill="#f95a10" stroke="black" points="2082.7,-2681.52 2083.99,-2671.01 2076.42,-2678.42 2082.7,-2681.52"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge480" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3873.29,-4601.51C3807.36,-4502.07 3869.55,-4447.54 3911.29,-4335.77"/>
<path fill="none" stroke="black" d="M3911.29,-4333.77C3917.43,-4318.32 4063.29,-3771.59 4063.29,-3754.97 4063.29,-3754.97 4063.29,-3754.97 4063.29,-3565 4063.29,-3279.02 4272.29,-3242.41 4272.29,-2956.43 4272.29,-2956.43 4272.29,-2956.43 4272.29,-2852.67 4272.29,-2678.46 4434.16,-2695.01 4500.29,-2533.83"/>
<path fill="none" stroke="black" d="M4500.29,-2531.83C4543.88,-2424.98 4583.16,-2294.88 4602.54,-2227.41"/>
<polygon fill="#f95a10" stroke="black" points="4605.79,-2228.77 4605.18,-2218.19 4599.06,-2226.84 4605.79,-2228.77"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge481" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4684.51C3967.05,-4606.17 4049.25,-4597.19 4025.29,-4520.52"/>
<path fill="none" stroke="black" d="M4025.29,-4518.52C4009.46,-4421.77 4005.37,-4392.82 4030.29,-4298 4108.58,-4000.09 4303.29,-3969.01 4303.29,-3660.98 4303.29,-3660.98 4303.29,-3660.98 4303.29,-3565 4303.29,-3404.58 4461.06,-2270.94 4559.29,-2144.11 4627.39,-2056.18 4677.6,-2066 4784.29,-2034.57 4972.57,-1979.11 5206.39,-1966.41 5316.85,-1963.57"/>
<polygon fill="#f95a10" stroke="black" points="5316.67,-1967.08 5326.59,-1963.34 5316.51,-1960.08 5316.67,-1967.08"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge482" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3911.29,-4333.77C3927.06,-4300.1 3938.29,-4295.57 3954.29,-4262 4057.51,-4045.46 4139.29,-3994.85 4139.29,-3754.97 4139.29,-3754.97 4139.29,-3754.97 4139.29,-3565 4139.29,-3328.5 4172.46,-2735.46 4220.29,-2503.84 4232.18,-2446.27 4221.95,-2420.55 4263.29,-2378.75 4296.79,-2344.86 4326.13,-2371.3 4364.29,-2342.75 4499.87,-2241.31 4443.54,-2122.43 4588.29,-2034.57 4803.55,-1903.93 5593.28,-1865.27 5856.37,-1855.89"/>
<polygon fill="#f95a10" stroke="black" points="5856.36,-1859.39 5866.24,-1855.54 5856.12,-1852.39 5856.36,-1859.39"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_console -->
<g id="edge483" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7018.29,-4435.53C7184.65,-3755.07 8548.29,-4757.53 8548.29,-4057.04 8548.29,-4057.04 8548.29,-4057.04 8548.29,-3846.95 8548.29,-3766.54 8466.6,-3506.01 8448.29,-3443.03 8440.01,-3414.56 8122.09,-2452.78 8130.29,-2424.3"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_email -->
<g id="edge484" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6104.67,-4833.46C6149.41,-4742.71 6358.87,-4319.16 6381.29,-4298 6409.94,-4270.96 6426.75,-4279 6462.29,-4262 6513.21,-4237.64 6524.88,-4229.42 6575.29,-4204.02 6659.42,-4161.63 6679.34,-4148.61 6765.29,-4110.04 6882.07,-4057.62 6932.92,-4082.73 7032.29,-4002.04 7234.45,-3837.85 7284.29,-3733.45 7284.29,-3473.02 7284.29,-3473.02 7284.29,-3473.02 7284.29,-3267.5 7284.29,-3205.45 7275.29,-3182.51 7308.29,-3129.97 7367.33,-3035.95 7453.42,-3079.16 7511.29,-2984.43 7699.75,-2675.88 7392.69,-2441.53 7644.29,-2181.88"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_html -->
<g id="edge485" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12111.29,-4767.5C12121.47,-4734.3 11871.06,-4626.78 11845.29,-4603.51"/>
<path fill="none" stroke="black" d="M11845.29,-4601.51C11808.98,-4568.83 11112.37,-4204.86 11080.29,-4168.02 10782.13,-3825.67 10946.21,-3598.91 10690.29,-3223.95 10436.21,-2851.69 10386.02,-2691.58 9976.29,-2503.84 9896.17,-2467.13 9844.09,-2529.67 9781.29,-2467.84 9712.1,-2399.72 9798.81,-2329.57 9738.29,-2253.65 9713.98,-2223.16 9689.85,-2240.54 9658.29,-2217.65 9622.49,-2191.7 9630.42,-2164.7 9591.29,-2144.11 9549.95,-2122.36 9241.76,-2089.52 9119.78,-2077.22"/>
<polygon fill="#f95a10" stroke="black" points="9120.38,-2073.77 9110.08,-2076.25 9119.68,-2080.73 9120.38,-2073.77"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge486" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12111.29,-4767.5C12139.41,-4673.62 11993.33,-4734.26 11900.29,-4703.51 11571.83,-4594.95 11462.9,-4591.96 11196.29,-4371.54 10911.8,-4136.34 10766.29,-4030.11 10766.29,-3660.98 10766.29,-3660.98 10766.29,-3660.98 10766.29,-3471.02 10766.29,-3288.33 10390.15,-2953.01 10268.29,-2816.9 10174.12,-2711.73 10143.93,-2691.47 10038.29,-2597.83 9989.15,-2554.27 9983.62,-2531.98 9924.29,-2503.84 9850.18,-2468.69 9813.23,-2510.69 9743.29,-2467.84 9661.89,-2417.98 9652.02,-2385.05 9610.29,-2299.2"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_report -->
<g id="edge487" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6147.18,-4850.47C6728.18,-4850.15 12088.61,-4845.19 12111.29,-4769.5"/>
<path fill="none" stroke="black" d="M12111.29,-4767.5C12146.91,-4648.58 9981.94,-4754.81 9878.29,-4686.51"/>
<path fill="none" stroke="black" d="M9878.29,-4684.51C9826.39,-4650.31 9820.88,-4629.2 9764.29,-4603.51"/>
<path fill="none" stroke="black" d="M9764.29,-4601.51C9680.49,-4563.48 9008.39,-4534.34 8947.29,-4465.52 8913,-4426.91 8909.29,-3588.4 8904.29,-3537.01 8878.73,-3274.61 8859.33,-3213.14 8737.29,-2707.36 8693.13,-2524.39 8732.66,-2453.1 8624.29,-2299.2"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge488" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4308.29,-4601.51C4389.58,-4490.99 4488.36,-4600.44 4610.29,-4537.52 4766.29,-4457.03 4771.53,-4388.46 4893.29,-4262 5038.23,-4111.47 5067.83,-4067.66 5208.29,-3912.94 5581.53,-3501.79 5806.14,-3486.06 6044.29,-2984.43 6102.78,-2861.22 6067.1,-2491.86 6143.29,-2378.75 6203.66,-2289.11 6501.35,-2150.89 6625.63,-2095.99"/>
<polygon fill="#f95a10" stroke="black" points="6626.92,-2099.25 6634.66,-2092.02 6624.1,-2092.84 6626.92,-2099.25"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_telegram -->
<g id="edge489" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11845.29,-4601.51C11804.69,-4568.56 11819.21,-4539.52 11783.29,-4501.52 11655.79,-4366.69 11570.47,-4395.23 11441.29,-4262 11419.84,-4239.88 11428.82,-4221.26 11403.29,-4204.02 11335.68,-4158.36 11292.09,-4211.87 11223.29,-4168.02 11124.56,-4105.09 10880.29,-3717.54 10880.29,-3473.02 10880.29,-3473.02 10880.29,-3473.02 10880.29,-3267.5 10880.29,-3241.83 10645.52,-2396.81 10627.29,-2378.75 10584.4,-2336.25 10553.05,-2363.33 10496.29,-2342.75 10296.1,-2270.16 10266.49,-2197.25 10060.29,-2144.11 9858.7,-2092.16 9786.19,-2186.37 9593.29,-2108.11 9590.78,-2107.1 9588.31,-2105.88 9585.9,-2104.51"/>
<polygon fill="#f95a10" stroke="black" points="9587.91,-2101.65 9577.64,-2099.06 9584.05,-2107.49 9587.91,-2101.65"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_executor -->
<g id="edge490" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7018.29,-4435.53C7054.92,-4410.56 7019.38,-4380.1 7018.29,-4335.77"/>
<path fill="none" stroke="black" d="M7018.29,-4333.77C7017.32,-4294.39 6978.44,-4299.47 6966.29,-4262 6958.34,-4237.49 6948.37,-4222.54 6966.29,-4204.02 7007.67,-4161.22 7981.22,-4188.02 8037.29,-4168.02 8077.3,-4153.74 8074.07,-4126.38 8113.29,-4110.04 8220.56,-4065.32 8277.29,-4140.98 8372.29,-4074.04 8541.3,-3954.94 8586.29,-3867.74 8586.29,-3660.98 8586.29,-3660.98 8586.29,-3660.98 8586.29,-3267.5 8586.29,-3205.45 8579.81,-3189.49 8562.29,-3129.97 8534.56,-3035.76 8532.23,-3007.15 8476.29,-2926.44 8463.03,-2907.32 8451.06,-2909.89 8438.29,-2890.44 8409.83,-2847.13 8409.21,-2831.57 8398.29,-2780.9 8353.04,-2571.04 8362.29,-2513.89 8362.29,-2299.2 8362.29,-2299.2 8362.29,-2299.2 8362.29,-1960.8 8362.29,-1837.2 8794.78,-1770.26 8949.81,-1750.23"/>
<polygon fill="#f95a10" stroke="black" points="8949.94,-1753.75 8959.42,-1749.01 8949.05,-1746.8 8949.94,-1753.75"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_repository -->
<g id="edge491" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12206.29,-4601.51C12176.33,-4557.2 12173.19,-4542.9 12139.29,-4501.52 11779.3,-4062.09 11538.76,-4077.08 11238.29,-3594.99 11154.89,-3461.19 10884.06,-2367.79 10775.29,-2253.65 10745.57,-2222.46 10721.24,-2241.39 10685.29,-2217.65 10609.15,-2167.39 10541.24,-2163.57 10540.29,-2072.34"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge492" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12111.29,-4767.5C12139.94,-4674.19 12073.83,-4645.86 12008.29,-4573.52 11936.31,-4494.08 11913.67,-4478.46 11833.29,-4407.54 11801.82,-4379.78 11568.87,-4199.64 11541.29,-4168.02 11344.8,-3942.79 11329.37,-3859.03 11189.29,-3594.99 11146.32,-3514 11134.45,-3493.61 11104.29,-3407.03 11046,-3239.74 11067.9,-3186.88 11007.29,-3020.43 10898.79,-2722.45 10881.75,-2635.25 10695.29,-2378.75 10606.26,-2256.28 10563.28,-2242.61 10448.29,-2144.11 10428.57,-2127.23 10417.79,-2128.94 10402.29,-2108.11 10392.09,-2094.42 10401.16,-2083.56 10388.29,-2072.34"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge493" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12111.29,-4767.5C12132.22,-4698.52 11863.3,-4720.68 11793.29,-4703.51 11737.55,-4689.83 11725.85,-4677.2 11669.29,-4667.51 11600.07,-4655.64 11098.5,-4667.65 11038.29,-4631.51 11016.47,-4618.41 10562.29,-3874.39 10562.29,-3848.95 10562.29,-3848.95 10562.29,-3848.95 10562.29,-3752.97 10562.29,-3496.05 10494.8,-3420.44 10329.29,-3223.95 10261.95,-3144 10215.24,-3158.84 10133.29,-3093.97 10011.43,-2997.5 9993.14,-2959.39 9878.29,-2854.67"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_spawn -->
<g id="edge494" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12434.29,-4684.51C12481.63,-4585.22 12356.98,-4305.81 12315.29,-4204.02 12296.44,-4158 12115.01,-3860.23 12087.29,-3818.96 11941.19,-3601.45 11894.71,-3553.85 11731.29,-3349.04 11651.98,-3249.65 11648.52,-3206.91 11547.29,-3129.97 11516.57,-3106.62 11491.75,-3124.6 11468.29,-3093.97 11362.38,-2955.7 11454.48,-2874.14 11404.29,-2707.36 11388.92,-2656.29 11385.71,-2641.63 11355.29,-2597.83 11346.44,-2585.08 11334.83,-2572.71 11323.88,-2562.3"/>
<polygon fill="#f95a10" stroke="black" points="11326.53,-2559.98 11316.81,-2555.77 11321.79,-2565.13 11326.53,-2559.98"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_client -->
<g id="edge495" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12111.29,-4767.5C12126.87,-4717.58 12082,-4708.3 12049.29,-4667.51 11945.87,-4538.55 11914.35,-4508.29 11783.29,-4407.54 11643.05,-4299.74 11601.69,-4278.56 11441.29,-4204.02 11396.93,-4183.4 11381.31,-4189.34 11337.29,-4168.02 11267.5,-4134.22 11242.21,-4131.63 11190.29,-4074.04 11151.82,-4031.35 11132.29,-4015.95 11132.29,-3958.49 11132.29,-3958.49 11132.29,-3958.49 11132.29,-3846.95 11132.29,-3689.53 11086.62,-3655.48 11056.29,-3501.01 11032.21,-3378.38 11032.31,-3346.59 11008.29,-3223.95 11002.69,-3195.38 11008.41,-3185.41 10994.29,-3159.96"/>
<path fill="none" stroke="black" d="M10994.29,-3157.96C10985.33,-3140.92 10978,-3121.05 10972.46,-3103.54"/>
<polygon fill="#f95a10" stroke="black" points="10975.95,-3102.99 10969.69,-3094.44 10969.26,-3105.03 10975.95,-3102.99"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_watcher -->
<g id="edge496" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12111.29,-4767.5C12133.71,-4688.88 12766.8,-4729.57 12844.29,-4703.51 12857.73,-4698.98 12858.33,-4692.26 12871.29,-4686.51"/>
<path fill="none" stroke="black" d="M12871.29,-4684.51C12961.35,-4644.52 12754.58,-4622.85 12705.29,-4537.52 12636.42,-4418.3 12643.29,-4371.69 12643.29,-4234.01 12643.29,-4234.01 12643.29,-4234.01 12643.29,-4055.04 12643.29,-3812.54 12434.95,-3219.37 12296.29,-3020.43 12199.13,-2881.02 12092.43,-2922.36 11998.29,-2780.9 11930.73,-2679.39 11880.86,-2370.59 11846.29,-2253.65 11774.17,-2009.74 11777.14,-1941.15 11680.29,-1705.96 11666.54,-1672.58 11653.04,-1668.64 11642.29,-1634.19"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_web_client -->
<g id="edge497" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12339.29,-4518.52C12224.75,-4296.94 12216.71,-4222.93 12049.29,-4038.04 11843.49,-3810.75 11777.87,-3742.6 11492.29,-3630.99 11418.33,-3602.09 11370.38,-3654.04 11317.29,-3594.99 11299.39,-3575.08 11227.44,-2662.18 11224.29,-2635.6"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_tree -->
<g id="edge498" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2658.29,-4684.51C2510.42,-4630.81 2864.16,-4643.65 2980.29,-4537.52 3018.05,-4503.01 3037.29,-4488.69 3037.29,-4437.53 3037.29,-4437.53 3037.29,-4437.53 3037.29,-3565 3037.29,-3414.52 3143.87,-3258.48 3194.8,-3192.5"/>
<polygon fill="#f95a10" stroke="black" points="3197.26,-3195.03 3200.66,-3184.99 3191.75,-3190.72 3197.26,-3195.03"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge499" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4684.51C3961.85,-4639.82 4004.49,-4662.23 4039.29,-4631.51 4171.67,-4514.63 4422.52,-4146.35 4524.29,-4002.04 4625.94,-3857.87 4727.29,-3837.38 4727.29,-3660.98 4727.29,-3660.98 4727.29,-3660.98 4727.29,-3565 4727.29,-3301.17 5305.69,-2811.07 5548.29,-2707.36 5676.23,-2652.67 5735.75,-2735.39 5859.29,-2671.36 5932.09,-2633.63 5936.02,-2601.54 5982.29,-2533.83"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge500" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3865.89,-4753.63 4025.33,-4693.98 4082.29,-4631.51 4184.07,-4519.86 4207.62,-4490.07 4301.29,-4371.54 4471.83,-4155.74 4512.03,-4099.77 4673.29,-3876.94 4811.04,-3686.59 4822.77,-3621.76 4975.29,-3443.03 5190.25,-3191.1 5251.72,-3130.84 5512.29,-2926.44 5679.07,-2795.62 5744.63,-2797.1 5915.29,-2671.36 6009.3,-2602.1 6111.58,-2510.86 6166,-2460.9"/>
<polygon fill="#f95a10" stroke="black" points="6168.21,-2463.62 6173.2,-2454.27 6163.47,-2458.47 6168.21,-2463.62"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_github -->
<g id="edge501" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9878.29,-4684.51C9798.6,-4631.99 9946.7,-4357.05 9955.29,-4262 9969.51,-4104.67 9933.65,-4064.26 9888.29,-3912.94 9867.21,-3842.65 9840.29,-3828.35 9840.29,-3754.97 9840.29,-3754.97 9840.29,-3754.97 9840.29,-3658.98 9840.29,-3424.01 9445.15,-2831.91 9574.29,-2635.6"/>
<path fill="none" stroke="black" d="M9574.29,-2633.6C9601.74,-2579.7 9564.68,-2555.54 9533.29,-2503.84 9521.54,-2484.5 9511.67,-2485.31 9497.29,-2467.84 9466.93,-2430.99 9468.73,-2414.67 9437.29,-2378.75 9382.12,-2315.7 9367.55,-2297.69 9296.29,-2253.65 9254.55,-2227.86 9201.95,-2208.08 9164.59,-2195.88"/>
<polygon fill="#f95a10" stroke="black" points="9166.03,-2192.67 9155.44,-2192.95 9163.9,-2199.33 9166.03,-2192.67"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge502" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4308.29,-4684.51C4427.48,-4614.95 4468.16,-4619.49 4598.29,-4573.52 4744.99,-4521.7 4787.41,-4524.75 4931.29,-4465.52 4932.81,-4464.9 5776.8,-4038.73 5778.29,-4038.04 5905.45,-3978.59 5933.78,-3953.1 6068.29,-3912.94 6157.35,-3886.35 6204.7,-3938.55 6274.29,-3876.94 6339.65,-3819.07 6370.93,-3586.56 6388.29,-3501.01 6401.75,-3434.67 6398.55,-3416.73 6398.29,-3349.04 6397.84,-3235.67 6396.73,-3207.34 6396.29,-3093.97 6396,-3019.4 6386.81,-2998.68 6405.29,-2926.44 6418.41,-2875.12 6422.54,-2860.74 6452.29,-2816.9 6477.66,-2779.52 6500.89,-2783.79 6524.29,-2745.13"/>
<path fill="none" stroke="black" d="M6524.29,-2743.13C6549.2,-2683.23 6563.92,-2657.43 6538.29,-2597.83 6529.1,-2576.45 6509.48,-2583.2 6500.29,-2561.83 6490.11,-2538.15 6494.59,-2528.98 6500.29,-2503.84 6508.95,-2465.63 6533.47,-2463.18 6538.29,-2424.3"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge503" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3783.33,-4740.12 4161.91,-4754.2 4322.29,-4703.51 4357.93,-4692.24 4363.34,-4680.76 4398.29,-4667.51 4451.95,-4647.16 4469.16,-4653.2 4522.29,-4631.51 4572.73,-4610.91 4579.28,-4592.67 4630.29,-4573.52 4697.31,-4548.37 4718.37,-4556.91 4787.29,-4537.52 5344.8,-4380.66 5481.29,-4304.35 5975.29,-4002.04 6032.25,-3967.18 6034.83,-3939.08 6096.29,-3912.94 6183.42,-3875.87 6231.75,-3935.34 6306.29,-3876.94 6367.74,-3828.79 6429.6,-3353.55 6547.29,-2926.44 6615.21,-2679.95 6586.45,-2594.73 6723.29,-2378.75 6735.43,-2359.59 6753.26,-2341.94 6769.45,-2328.16"/>
<polygon fill="#f95a10" stroke="black" points="6771.58,-2330.94 6777.07,-2321.88 6767.13,-2325.54 6771.58,-2330.94"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_upload -->
<g id="edge504" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3750.43,-4734.54 4203.96,-4757.08 4398.29,-4703.51 4438.23,-4692.49 4444.46,-4678.95 4484.29,-4667.51 4826.29,-4569.25 4932.49,-4636.48 5274.29,-4537.52 5456.02,-4484.91 5505.09,-4470.58 5666.29,-4371.54 5733.57,-4330.2 6142.27,-3954.72 6209.29,-3912.94 6243.06,-3891.88 6256.71,-3896.65 6291.29,-3876.94 6353.54,-3841.46 6374.81,-3836.63 6422.29,-3782.96 6547.26,-3641.67 6579.13,-3591.33 6619.29,-3407.03 6624.77,-3381.85 6619.37,-3374.81 6619.29,-3349.04 6619.07,-3277.44 6618.51,-3259.55 6618.29,-3187.95 6618.21,-3162.18 6615.56,-3155.59 6618.29,-3129.97 6621.85,-3096.49 6726.55,-2621.94 6760.07,-2470.43"/>
<polygon fill="#f95a10" stroke="black" points="6763.47,-2471.26 6762.21,-2460.74 6756.64,-2469.75 6763.47,-2471.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge505" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3949.29,-4767.5C3943.26,-4766.51 4117.72,-4635.57 4122.29,-4631.51 4244.18,-4523.14 4281.44,-4500.5 4381.29,-4371.54 4475.34,-4250.07 4479.21,-4206.35 4557.29,-4074.04 4633.42,-3945.01 4664.42,-3918.94 4727.29,-3782.96 4753.93,-3725.33 5072.49,-2756.01 5113.29,-2707.36 5275.33,-2514.18 5864,-2237.33 6098.29,-2144.11 6175.41,-2113.43 6269.25,-2093.39 6330.31,-2082.48"/>
<polygon fill="#f95a10" stroke="black" points="6330.58,-2085.98 6339.82,-2080.81 6329.37,-2079.09 6330.58,-2085.98"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_util -->
<g id="edge506" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9764.29,-4601.51C9731.51,-4586.64 9796.56,-4536.46 9764.29,-4520.52"/>
<path fill="none" stroke="black" d="M9764.29,-4518.52C9731.85,-4502.5 9209.19,-4456.13 9043.95,-4441.8"/>
<polygon fill="#f95a10" stroke="black" points="9044.46,-4438.33 9034.19,-4440.96 9043.85,-4445.31 9044.46,-4438.33"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge507" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6147.25,-4850.36C6756.25,-4848.76 12631.71,-4832.54 13400.29,-4797.49 13694.35,-4784.08 14720.29,-4980.87 14720.29,-4686.51 14720.29,-4686.51 14720.29,-4686.51 14720.29,-3846.95 14720.29,-3764.3 14708.56,-3742.8 14720.29,-3660.98"/>
<path fill="none" stroke="black" d="M14720.29,-3658.98C14736.08,-3563.33 14606.29,-3569.96 14606.29,-3473.02 14606.29,-3473.02 14606.29,-3473.02 14606.29,-3377.03 14606.29,-3120.64 14563.8,-3054.84 14468.29,-2816.9 14447.36,-2764.79 14443.12,-2748.88 14405.29,-2707.36 14386.6,-2686.86 14372.63,-2692.18 14354.29,-2671.36 14342.39,-2657.86 14342.75,-2651.98 14335.29,-2635.6"/>
<path fill="none" stroke="black" d="M14335.29,-2633.6C14330.84,-2622.54 14415.24,-1791.37 14416.29,-1779.5 14420.59,-1730.84 14421.73,-1718.68 14425.29,-1669.96 14431.89,-1579.56 14435.4,-1557.03 14438.29,-1466.43 14442.43,-1336.45 14441.91,-1303.82 14438.29,-1173.82 14437.4,-1141.88 14428.57,-1133.48 14434.29,-1102.05"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_base -->
<g id="edge508" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12871.29,-4601.51C12865.09,-4573.07 12882.16,-4566.47 12885.29,-4537.52 12896.73,-4431.69 12888.48,-4404.41 12885.29,-4298 12882.8,-4215.2 12687.36,-1401.78 12706.29,-1321.13"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_index -->
<g id="edge509" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13137.29,-4435.53C13065.62,-4381.81 13137.29,-4323.57 13137.29,-4234.01 13137.29,-4234.01 13137.29,-4234.01 13137.29,-4055.04 13137.29,-3783.2 12949.29,-3744.85 12949.29,-3473.02 12949.29,-3473.02 12949.29,-3473.02 12949.29,-3267.5 12949.29,-3139.58 12913.57,-3111.3 12897.29,-2984.43 12851.89,-2630.64 12896.29,-2538.57 12896.29,-2181.88 12896.29,-2181.88 12896.29,-2181.88 12896.29,-2070.34 12896.29,-2033.93 13036.37,-1814.23 13047.29,-1779.5 13066.81,-1717.36 13066.29,-1699.32 13066.29,-1634.19 13066.29,-1634.19 13066.29,-1634.19 13066.29,-1428.67 13066.29,-1363.53 13083.75,-1337.32 13047.29,-1283.36 13029.02,-1256.31 12999.76,-1275.53 12983.29,-1247.36 12966.79,-1219.14 12981.65,-1206.46 12983.29,-1173.82 12985.74,-1124.95 12986.51,-1112.58 12994.29,-1064.28 12999.49,-1032.01 13013.32,-1025.05 13010.29,-992.51"/>
<path fill="none" stroke="black" d="M13010.29,-990.51C13004.07,-961.47 12986.71,-933.01 12970.71,-911.63"/>
<polygon fill="#f95a10" stroke="black" points="12973.55,-909.59 12964.66,-903.83 12968.02,-913.88 12973.55,-909.59"/>
</g>
<!-- ahriman_web_views_service_add -->
<g id="node161" class="node">
<title>ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="12273.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="12273.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12273.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12273.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="12273.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="12273.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">add</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_add -->
<g id="edge510" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12643.29,-4684.51C12662.97,-4654.37 12650.96,-4638.68 12643.29,-4603.51"/>
<path fill="none" stroke="black" d="M12643.29,-4601.51C12627.85,-4530.7 12583.05,-4531.61 12553.29,-4465.52 12509.55,-4368.4 12520.75,-4336.38 12491.29,-4234.01"/>
<path fill="none" stroke="black" d="M12491.29,-4232.01C12424.74,-4045.4 12263.29,-4047.07 12263.29,-3848.95 12263.29,-3848.95 12263.29,-3848.95 12263.29,-3752.97 12263.29,-3419.91 12264.54,-3312.94 12105.29,-3020.43 12041.49,-2903.24 11979.01,-2902.6 11924.29,-2780.9 11819.57,-2548.04 11839.67,-2471.39 11811.29,-2217.65 11777.42,-1914.9 11794.29,-1837.06 11794.29,-1532.43 11794.29,-1532.43 11794.29,-1532.43 11794.29,-1100.05 11794.29,-1009.75 11855.38,-994.84 11936.29,-954.74 12052.65,-897.06 12108.53,-973.52 12226.29,-918.74 12229.88,-917.07 12233.37,-915.02 12236.74,-912.74"/>
<polygon fill="#f95a10" stroke="black" points="12238.82,-915.55 12244.63,-906.69 12234.56,-910 12238.82,-915.55"/>
</g>
<!-- ahriman_web_views_service_pgp -->
<g id="node162" class="node">
<title>ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="13334.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="13334.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13334.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13334.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="13334.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="13334.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pgp</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge511" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13895.29,-4435.53C13913.45,-4395.08 13895.29,-4380.11 13895.29,-4335.77"/>
<path fill="none" stroke="black" d="M13895.29,-4333.77C13895.29,-4275.77 13867.04,-4260.24 13881.29,-4204.02 13911.78,-4083.72 14005.88,-4082.31 14014.29,-3958.49"/>
<path fill="none" stroke="black" d="M14014.29,-3956.49C14014.74,-3920.59 14004.38,-3912.6 14000.29,-3876.94 13914.3,-3127.39 13908.29,-2936.35 13908.29,-2181.88 13908.29,-2181.88 13908.29,-2181.88 13908.29,-1960.8 13908.29,-1708.64 13639.53,-1774.51 13506.29,-1560.42 13497.49,-1546.28 13314.75,-1009.15 13314.29,-992.51"/>
</g>
<!-- ahriman_web_views_service_rebuild -->
<g id="node163" class="node">
<title>ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="12563.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="12563.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12563.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12563.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="12563.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="12563.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">rebuild</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge512" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12643.29,-4601.51C12625.05,-4480.03 12567.29,-4458.61 12567.29,-4335.77 12567.29,-4335.77 12567.29,-4335.77 12567.29,-4055.04 12567.29,-3790.55 12443.29,-3737.5 12443.29,-3473.02 12443.29,-3473.02 12443.29,-3473.02 12443.29,-3267.5 12443.29,-3011.67 12060.29,-2437.7 12060.29,-2181.88 12060.29,-2181.88 12060.29,-2181.88 12060.29,-1319.13 12060.29,-1138.3 12086.15,-1047.64 12241.29,-954.74 12347.04,-891.41 12404.7,-971.1 12516.29,-918.74 12519.87,-917.06 12523.37,-915 12526.73,-912.71"/>
<polygon fill="#f95a10" stroke="black" points="12528.81,-915.52 12534.61,-906.66 12524.55,-909.97 12528.81,-915.52"/>
</g>
<!-- ahriman_web_views_service_remove -->
<g id="node164" class="node">
<title>ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="13127.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="13127.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13127.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13127.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="13127.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="13127.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remove</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge513" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13743.29,-4435.53C13712.26,-4344.98 13667.29,-4329.73 13667.29,-4234.01 13667.29,-4234.01 13667.29,-4234.01 13667.29,-3658.98 13667.29,-3333.39 13674.41,-3251.68 13659.29,-2926.44 13652.48,-2780.06 13647.42,-2743.59 13632.29,-2597.83 13611.29,-2395.68 13627.94,-2340.41 13575.29,-2144.11 13516.03,-1923.21 13463.14,-1881.13 13375.29,-1669.96 13270.49,-1418.06 13234.59,-1358.78 13142.29,-1102.05"/>
</g>
<!-- ahriman_web_views_service_request -->
<g id="node165" class="node">
<title>ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="13230.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="13230.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13230.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13230.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="13230.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="13230.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">request</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_request -->
<g id="edge514" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13743.29,-4518.52C13754.83,-4442.85 13872.72,-4510.68 13895.29,-4437.53"/>
<path fill="none" stroke="black" d="M13895.29,-4435.53C13908.1,-4394.02 13815.58,-4304.2 13805.29,-4262 13799.18,-4236.96 13805.28,-4229.79 13805.29,-4204.02 13805.51,-3522.84 13806.07,-3352.54 13806.29,-2671.36 13806.36,-2436.49 13833.42,-2370.35 13770.29,-2144.11 13692.95,-1866.98 13609.15,-1822.44 13490.29,-1560.42 13427.77,-1422.59 13410.37,-1388.71 13356.29,-1247.36 13313.1,-1134.49 13269.35,-999.61 13246.49,-927.23"/>
<polygon fill="#f95a10" stroke="black" points="13249.94,-926.52 13243.59,-918.04 13243.26,-928.63 13249.94,-926.52"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_search -->
<g id="edge515" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12111.29,-4767.5C12144.09,-4652.5 12602.78,-4799.02 12643.29,-4686.51"/>
<path fill="none" stroke="black" d="M12643.29,-4684.51C12653.22,-4656.93 12511.36,-4490.65 12496.29,-4465.52 12451.08,-4390.18 12149.29,-3842.83 12149.29,-3754.97 12149.29,-3754.97 12149.29,-3754.97 12149.29,-3377.03 12149.29,-3165.54 12137.39,-3083.99 11996.29,-2926.44 11971.08,-2898.3 11944,-2919.02 11919.29,-2890.44 11886.03,-2851.98 11900.57,-2829.7 11886.29,-2780.9 11813.2,-2531.14 11791.45,-2469.6 11726.29,-2217.65 11687.13,-2066.26 11569.34,-1688.76 11566.29,-1532.43"/>
</g>
<!-- ahriman_web_views_service_update -->
<g id="node167" class="node">
<title>ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="12657.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="12657.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12657.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12657.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="12657.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="12657.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_update -->
<g id="edge516" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12871.29,-4684.51C12905.18,-4672.39 12881.42,-4638.06 12871.29,-4603.51"/>
<path fill="none" stroke="black" d="M12871.29,-4601.51C12857.48,-4554.42 12811.45,-4576.24 12781.29,-4537.52 12760.19,-4510.44 12762.75,-4498.53 12753.29,-4465.52 12684.36,-4225.23 12695.24,-4158.48 12648.29,-3912.94 12535.23,-3321.73 12214.9,-1847.39 12167.29,-1247.36 12155.74,-1101.87 12186.59,-1021.66 12316.29,-954.74 12433.27,-894.37 12490.88,-974.16 12610.29,-918.74 12613.88,-917.07 12617.38,-915.03 12620.74,-912.74"/>
<polygon fill="#f95a10" stroke="black" points="12622.82,-915.56 12628.63,-906.7 12618.57,-910 12622.82,-915.56"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge517" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13895.29,-4333.77C13911.4,-4213.13 14053.47,-4274.02 14113.29,-4168.02 14222.37,-3974.73 14326.29,-2403.83 14326.29,-2181.88 14326.29,-2181.88 14326.29,-2181.88 14326.29,-1741.73 14326.29,-1666.2 14289.59,-1137.3 14270.29,-1064.28 14256.84,-1013.39 14260.41,-993.94 14225.29,-954.74 14202.99,-929.85 14187.31,-936.93 14159.29,-918.74 14153.8,-915.18 14148.17,-911.24 14142.67,-907.24"/>
<polygon fill="#f95a10" stroke="black" points="14144.94,-904.56 14134.83,-901.39 14140.76,-910.18 14144.94,-904.56"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_package -->
<g id="edge518" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12871.29,-4601.51C12849.64,-4460.02 12833.29,-4101.63 12833.29,-3958.49 12833.29,-3958.49 12833.29,-3958.49 12833.29,-3846.95 12833.29,-3230.86 12739.84,-3082.17 12693.29,-2467.84 12688.01,-2398.16 12622.18,-1280.99 12630.29,-1211.59"/>
</g>
<!-- ahriman_web_views_status_packages -->
<g id="node171" class="node">
<title>ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4b2e" stroke="black" cx="12371.29" cy="-874.19" rx="41.94" ry="44.6"/>
<text text-anchor="middle" x="12371.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12371.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12371.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="12371.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="12371.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">packages</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge519" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12491.29,-4232.01C12428.5,-3977 12339.29,-3923.61 12339.29,-3660.98 12339.29,-3660.98 12339.29,-3660.98 12339.29,-3471.02 12339.29,-3135.5 12116.3,-3105.99 12033.29,-2780.9 11967.2,-2522.09 11984.29,-2449 11984.29,-2181.88 11984.29,-2181.88 11984.29,-2181.88 11984.29,-2070.34 11984.29,-1768.68 11922.45,-1693.91 11942.29,-1392.9 11950.88,-1262.57 11956.06,-1229.57 11984.29,-1102.05"/>
<path fill="none" stroke="black" d="M11984.29,-1100.05C11988.72,-1032.84 11975.89,-998.26 12027.29,-954.74 12127.41,-869.95 12200.2,-971.58 12320.29,-918.74 12324.31,-916.97 12328.25,-914.78 12332.05,-912.32"/>
<polygon fill="#f95a10" stroke="black" points="12333.86,-915.33 12339.95,-906.66 12329.78,-909.64 12333.86,-915.33"/>
</g>
<!-- ahriman_web_views_status_status -->
<g id="node172" class="node">
<title>ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="13428.29" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="13428.29" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13428.29" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13428.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="13428.29" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="13428.29" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_status -->
<g id="edge520" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14014.29,-3956.49C14038.32,-3784.23 14052.29,-3740.93 14052.29,-3567 14052.29,-3567 14052.29,-3567 14052.29,-3157.96 14052.29,-2831.87 14060.29,-2750.39 14060.29,-2424.3 14060.29,-2424.3 14060.29,-2424.3 14060.29,-2179.88 14060.29,-1878.73 14139.63,-1788.76 14046.29,-1502.43 13948.46,-1202.37 13875.86,-1097.31 13594.29,-954.74 13544.99,-929.78 13523.23,-946.22 13475.29,-918.74 13471.9,-916.8 13468.57,-914.57 13465.32,-912.18"/>
<polygon fill="#f95a10" stroke="black" points="13467.65,-909.56 13457.66,-906.02 13463.26,-915.01 13467.65,-909.56"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_user_login -->
<g id="edge521" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13895.29,-4333.77C13910.43,-4175.65 13987.46,-4155.54 14028.29,-4002.04 14237.29,-3216.28 14212.29,-2994.96 14212.29,-2181.88 14212.29,-2181.88 14212.29,-2181.88 14212.29,-1851.27 14212.29,-1442.53 14309.41,-1230.04 14007.29,-954.74 13944.15,-897.21 13683.14,-881.01 13572.36,-876.68"/>
<polygon fill="#f95a10" stroke="black" points="13572.51,-873.19 13562.38,-876.31 13572.24,-880.18 13572.51,-873.19"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge522" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12871.29,-4601.51C12586.84,-3363.19 12473.87,-3048.67 12414.29,-1779.5 12401.12,-1498.93 12467.92,-1092.92 12485.29,-1064.28 12514.98,-1015.31 12544.13,-1023.49 12592.29,-992.51"/>
<path fill="none" stroke="black" d="M12592.29,-990.51C12606.62,-977.82 12601.45,-966.84 12616.29,-954.74 12649.04,-928.03 12668.66,-941.46 12704.29,-918.74 12707.58,-916.64 12710.85,-914.3 12714.04,-911.83"/>
<polygon fill="#f95a10" stroke="black" points="12716.16,-914.61 12721.63,-905.54 12711.69,-909.22 12716.16,-914.61"/>
</g>
<!-- ahriman_models_action -->
<g id="node127" class="node">
<title>ahriman_models_action</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e76022" stroke="black" cx="14969.29" cy="-2180.88" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="14969.29" y="-2189.38" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="14969.29" y="-2178.38" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="14969.29" y="-2167.38" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">action</text>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_ahriman -->
<g id="edge523" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14873.29,-1851.27C14745.25,-1644.7 14940.05,-996.93 14896.29,-757.87"/>
<path fill="none" stroke="black" d="M14896.29,-755.87C14887.7,-714.01 14850.21,-722.9 14832.29,-684.1 14806.41,-628.09 14813.29,-608.28 14813.29,-546.57 14813.29,-546.57 14813.29,-546.57 14813.29,-442.81 14813.29,-247.94 15262.53,-250.47 15114.29,-123.97"/>
<path fill="none" stroke="black" d="M15114.29,-121.97C15028.3,-69.76 8237.34,-33.86 7534.83,-30.29"/>
<polygon fill="#e76022" stroke="black" points="7535.04,-26.79 7525.02,-30.24 7535,-33.79 7535.04,-26.79"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge524" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14873.29,-1960.8C14855.68,-1916.37 14887.06,-1899.03 14873.29,-1853.27"/>
<path fill="none" stroke="black" d="M14873.29,-1851.27C14833.35,-1718.56 13776.27,-1690.98 13639.29,-1669.96 13148.29,-1594.59 13027.23,-1564.66 12540.29,-1466.43 11942.73,-1345.89 11804.8,-1252.34 11200.29,-1173.82 8604.97,-836.72 7929.16,-1084.5 5317.29,-918.74 4651.42,-876.48 4480.97,-893.61 3821.29,-793.64 3671.43,-770.94 3638.69,-738.87 3488.29,-720.1 3231.71,-688.09 2578.84,-734.78 2325.29,-684.1 2310.69,-681.19 2295.39,-676.24 2281.47,-670.95"/>
<polygon fill="#e76022" stroke="black" points="2283.12,-667.84 2272.54,-667.42 2280.55,-674.35 2283.12,-667.84"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge525" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14896.29,-755.87C14892.7,-736.26 14892.1,-714.28 14892.63,-695.34"/>
<polygon fill="#e76022" stroke="black" points="14896.12,-695.63 14893.02,-685.5 14889.13,-695.35 14896.12,-695.63"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_users -->
<g id="edge526" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14953.6,-2154.01C14930.63,-2114.49 14888.9,-2035.95 14873.29,-1962.8"/>
<path fill="none" stroke="black" d="M14873.29,-1960.8C14861.67,-1931.5 14838.09,-1905.21 14816.97,-1885.96"/>
<polygon fill="#e76022" stroke="black" points="14819.37,-1883.4 14809.55,-1879.41 14814.74,-1888.65 14819.37,-1883.4"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_application_handlers_search -->
<g id="edge527" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2909.04,-4224.73C2773.43,-4204.81 2382.98,-4148.35 2057.29,-4110.04 1737.89,-4072.46 1657.63,-4066.42 1337.29,-4038.04 1285.56,-4033.45 912.36,-4033.81 871.29,-4002.04 860.49,-3993.68 580.98,-3221.76 491.29,-2780.9 437.93,-2518.62 429.29,-2449.54 429.29,-2181.88 429.29,-2181.88 429.29,-2181.88 429.29,-1100.05 429.29,-1000.11 362.32,-949.37 429.29,-875.19"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge528" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2357.29,-4055.04C2231.06,-4024.79 1310.03,-4052.14 1190.29,-4002.04 1186.64,-4000.51 1183.09,-3998.56 1179.7,-3996.35"/>
<polygon fill="#d14505" stroke="black" points="1181.87,-3993.6 1171.76,-3990.41 1177.67,-3999.21 1181.87,-3993.6"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge529" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2557.29,-4138.03C2471.79,-4119.77 2443.11,-4123.87 2371.29,-4074.04 2363.25,-4068.46 2366.81,-4059.32 2357.29,-4057.04"/>
<path fill="none" stroke="black" d="M2357.29,-4055.04C2323.19,-4046.87 1127.19,-4018.59 1096.29,-4002.04 912.89,-3903.75 923.29,-3775.08 923.29,-3567 923.29,-3567 923.29,-3567 923.29,-2954.43 923.29,-2764.47 813.52,-2720.77 847.29,-2533.83"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge530" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2911.78,-4220.86C2837.15,-4203.08 2685.99,-4167.5 2557.29,-4140.03"/>
<path fill="none" stroke="black" d="M2557.29,-4138.03C2229.71,-4068.09 2143.95,-4067.56 1810.29,-4038.04 1626.83,-4021.8 1161.5,-4044.51 982.29,-4002.04 936.31,-3991.14 923.44,-3986.38 885.29,-3958.49"/>
<path fill="none" stroke="black" d="M885.29,-3956.49C859.89,-3938.09 804.43,-3718.97 795.29,-3688.97 720.19,-3442.58 719.93,-3375.57 642.29,-3129.97 622.69,-3067.98 543.29,-2919.69 543.29,-2854.67 543.29,-2854.67 543.29,-2854.67 543.29,-2633.6 543.29,-2538.16 445.65,-2505.81 495.29,-2424.3"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge531" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M885.29,-3956.49C864.97,-3940.49 864.35,-3750.65 861.29,-3724.97 843.58,-3576.51 771.29,-3207.71 771.29,-3058.2 771.29,-3058.2 771.29,-3058.2 771.29,-2852.67 771.29,-2669.7 792.21,-2453.49 803.01,-2354.14"/>
<polygon fill="#d14505" stroke="black" points="806.47,-2354.72 804.08,-2344.4 799.51,-2353.96 806.47,-2354.72"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge532" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2954.11,-4203.73C2935.04,-4070.39 2859.38,-3491.33 2910.29,-3020.43 2913.42,-2991.48 2919.11,-2985.08 2924.29,-2956.43"/>
<path fill="none" stroke="black" d="M2924.29,-2954.43C2926.13,-2910.13 2902.16,-2893.1 2924.29,-2854.67"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_models_package_description -->
<g id="edge533" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3009.31,-4231.2C3307.05,-4226.43 4850.48,-4201.07 6110.29,-4168.02 6397.49,-4160.48 6737.94,-4148.7 6894.15,-4143.14"/>
<polygon fill="#d14505" stroke="black" points="6894.14,-4146.64 6904.01,-4142.78 6893.89,-4139.64 6894.14,-4146.64"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_web_views_service_search -->
<g id="edge534" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3009.15,-4229.74C3695.38,-4198.94 11100.71,-3860.82 11466.29,-3594.99 11697.69,-3426.73 11638.26,-3268.74 11670.29,-2984.43 11684.09,-2861.91 11675.71,-2829.12 11656.29,-2707.36 11641.67,-2615.69 11633.39,-2593.49 11609.29,-2503.84 11594.33,-2448.2 11591.01,-2434.17 11575.29,-2378.75 11522.67,-2193.29 11455.81,-2155.55 11452.29,-1962.8"/>
</g>
<!-- ahriman_models_auth_settings -->
<g id="node129" class="node">
<title>ahriman_models_auth_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db652f" stroke="black" cx="13129.29" cy="-2298.2" rx="53.07" ry="28.98"/>
<text text-anchor="middle" x="13129.29" y="-2306.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="13129.29" y="-2295.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="13129.29" y="-2284.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">auth_settings</text>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_auth -->
<g id="edge535" class="edge">
<title>ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13104.29,-2070.34C13091.01,-2006.58 13103.55,-1987.55 13085.29,-1925.03 13070.65,-1874.92 13043.93,-1821.21 13024.35,-1785.37"/>
<polygon fill="#db652f" stroke="black" points="13027.41,-1783.68 13019.51,-1776.62 13021.29,-1787.06 13027.41,-1783.68"/>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge536" class="edge">
<title>ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13126.81,-2269.07C13122.9,-2226.42 13114.68,-2142.87 13104.29,-2072.34"/>
<path fill="none" stroke="black" d="M13104.29,-2070.34C13098.91,-2044.54 13084.01,-2019.24 13069.73,-1999.67"/>
<polygon fill="#db652f" stroke="black" points="13072.55,-1997.6 13063.72,-1991.75 13066.98,-2001.83 13072.55,-1997.6"/>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge537" class="edge">
<title>ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13152.99,-2272.14C13200.28,-2219.8 13303.58,-2092.89 13324.29,-1962.8"/>
<path fill="none" stroke="black" d="M13324.29,-1960.8C13325.67,-1941.06 13325.57,-1919.23 13324.97,-1900.42"/>
<polygon fill="#db652f" stroke="black" points="13328.48,-1900.53 13324.6,-1890.67 13321.48,-1900.79 13328.48,-1900.53"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_ahriman -->
<g id="edge538" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11423.86,-3564.24C11683.2,-3560.01 12899.07,-3538.33 13062.29,-3501.01 13226.81,-3463.38 13253.78,-3412.21 13410.29,-3349.04 13669.67,-3244.35 13737.1,-3224.7 14000.29,-3129.97 14304.54,-3020.45 14387.03,-3010.46 14687.29,-2890.44 14714.27,-2879.66 15141.4,-2691.57 15162.29,-2671.36 15288.97,-2548.81 15299.29,-2475.46 15299.29,-2299.2 15299.29,-2299.2 15299.29,-2299.2 15299.29,-2070.34 15299.29,-1953.77 15321.35,-1925.01 15361.29,-1815.5 15392.11,-1730.98 15434.73,-1722.61 15451.29,-1634.19"/>
<path fill="none" stroke="black" d="M15451.29,-1632.19C15456.35,-1588.14 15444.69,-1576.27 15451.29,-1532.43"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_handlers_status -->
<g id="edge539" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11326.9,-3561.7C10809.72,-3526.44 6317.81,-3219.47 6185.29,-3187.95 5478.89,-3019.9 5240.11,-3019.36 4676.29,-2561.83 4349.01,-2296.24 4375.7,-2129.11 4140.29,-1779.5 4061.45,-1662.42 3562.4,-789.14 3439.29,-720.1 3342.12,-665.61 2543.65,-717.26 2437.29,-684.1 2433.01,-682.77 2428.74,-681.02 2424.58,-679.01"/>
<polygon fill="#e54c05" stroke="black" points="2426.3,-675.96 2415.83,-674.28 2422.97,-682.11 2426.3,-675.96"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_lock -->
<g id="edge540" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11423.24,-3560.25C11603.53,-3541.57 12256.76,-3466.58 12773.29,-3313.04 12870.86,-3284.04 12888.58,-3258.62 12984.29,-3223.95 13170.8,-3156.39 13222.62,-3155.26 13411.29,-3093.97 13553.06,-3047.91 13587.84,-3034.37 13728.29,-2984.43 13842.88,-2943.68 13877.75,-2947.24 13985.29,-2890.44 14083.4,-2838.63 14093.04,-2802.05 14188.29,-2745.13"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge541" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11336.14,-3548.43C11275.1,-3523.06 11153.14,-3474.25 11046.29,-3443.03 10788.03,-3367.55 10474.23,-3308.81 10328.28,-3283.32"/>
<polygon fill="#e54c05" stroke="black" points="10329.16,-3279.92 10318.71,-3281.66 10327.96,-3286.82 10329.16,-3279.92"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge542" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11326.53,-3563.97C11070.53,-3558.53 9855.76,-3532.15 8862.29,-3501.01 8721.98,-3496.61 6469.42,-3454.43 6337.29,-3407.03 6297.3,-3392.68 6300.73,-3364.83 6261.29,-3349.04 6125.54,-3294.72 6079.35,-3331.35 5934.29,-3313.04 5542.79,-3263.65 5441.89,-3266.99 5055.29,-3187.95 4372.28,-3048.3 3578.25,-2746.76 3355.86,-2659.63"/>
<polygon fill="#e54c05" stroke="black" points="3357.4,-2656.47 3346.81,-2656.07 3354.84,-2662.98 3357.4,-2656.47"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_formatters_status_printer -->
<g id="edge543" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_formatters_status_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11327.06,-3562.06C11072.52,-3546.67 9859.55,-3474.87 8866.29,-3443.03 8608.61,-3434.77 6801.05,-3446.57 6546.29,-3407.03 6476.57,-3396.2 6005.94,-3243.97 5938.29,-3223.95 5794.93,-3181.51 5759.74,-3168.52 5615.29,-3129.97 4841.49,-2923.42 3892.53,-2705.94 3644.13,-2649.57"/>
<polygon fill="#e54c05" stroke="black" points="3645.18,-2646.22 3634.65,-2647.42 3643.63,-2653.05 3645.18,-2646.22"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_client -->
<g id="edge544" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11373.4,-3536.9C11373.04,-3518.3 11374.29,-3493.63 11381.29,-3473.02"/>
<path fill="none" stroke="black" d="M11381.29,-3471.02C11399.02,-3418.77 11021.63,-3207.88 10994.29,-3159.96"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_watcher -->
<g id="edge545" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11451.29,-3267.5C11451.08,-3233.09 11484.78,-3239.86 11515.29,-3223.95 11587.19,-3186.44 11787.58,-3137.05 11856.29,-3093.97 12028.11,-2986.22 12107.93,-2967.12 12188.29,-2780.9 12201.24,-2750.89 12195.19,-2739.31 12188.29,-2707.36 12173.28,-2637.94 12148.62,-2627.79 12122.29,-2561.83 12084.08,-2466.11 12070.89,-2442.83 12046.29,-2342.75 12029.03,-2272.55 12022.29,-2254.17 12022.29,-2181.88 12022.29,-2181.88 12022.29,-2181.88 12022.29,-1960.8 12022.29,-1691.2 11766.61,-1438.82 11669.29,-1352.52"/>
<polygon fill="#e54c05" stroke="black" points="11671.61,-1349.9 11661.79,-1345.93 11666.99,-1355.16 11671.61,-1349.9"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_web_client -->
<g id="edge546" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11381.29,-3471.02C11396.44,-3408.84 11459.16,-3445.52 11510.29,-3407.03 11522.3,-3397.98 11516.25,-3386.52 11529.29,-3379.03"/>
<path fill="none" stroke="black" d="M11529.29,-3377.03C11580.5,-3347.65 11451.65,-3328.54 11451.29,-3269.5"/>
<path fill="none" stroke="black" d="M11451.29,-3267.5C11451,-3219.7 11468.82,-3204.42 11451.29,-3159.96"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_models_counters -->
<g id="edge547" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11395.62,-3539.38C11403.73,-3529.16 11413.17,-3517.26 11421.8,-3506.39"/>
<polygon fill="#e54c05" stroke="black" points="11424.4,-3508.75 11427.88,-3498.74 11418.92,-3504.39 11424.4,-3508.75"/>
</g>
<!-- ahriman_models_internal_status -->
<g id="node133" class="node">
<title>ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#bf5321" stroke="black" cx="11444.29" cy="-3378.03" rx="56.64" ry="28.98"/>
<text text-anchor="middle" x="11444.29" y="-3386.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11444.29" y="-3375.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="11444.29" y="-3364.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">internal_status</text>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_models_internal_status -->
<g id="edge548" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11381.29,-3471.02C11388.37,-3450.14 11401.63,-3429.63 11414.15,-3413.29"/>
<polygon fill="#e54c05" stroke="black" points="11416.58,-3415.87 11420.06,-3405.86 11411.1,-3411.52 11416.58,-3415.87"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_views_status_package -->
<g id="edge549" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11529.29,-3377.03C11746.58,-3252.37 11866.8,-3347.07 12060.29,-3187.95 12222.84,-3054.26 12237.36,-2981.11 12302.29,-2780.9 12374.87,-2557.08 12321.96,-2487.24 12350.29,-2253.65 12390.95,-1918.41 12411.57,-1835.99 12464.29,-1502.43 12479.69,-1404.97 12471.13,-1377.62 12500.29,-1283.36 12521.39,-1215.15 12539.16,-1203 12568.29,-1137.82 12596.93,-1073.71 12597.98,-1054.85 12630.29,-992.51"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_views_status_status -->
<g id="edge550" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11419.51,-3553.38C11615.06,-3502.08 12421.92,-3291.26 13087.29,-3129.97 13156.44,-3113.2 13179.13,-3124.73 13243.29,-3093.97 13373.1,-3031.72 13685.96,-2788.33 13746.29,-2671.36 13862.64,-2445.79 13832.29,-1786.24 13832.29,-1532.43 13832.29,-1532.43 13832.29,-1532.43 13832.29,-1428.67 13832.29,-1256.11 13807.91,-1197.54 13698.29,-1064.28 13688.54,-1052.43 13592.64,-1001.61 13580.29,-992.51"/>
</g>
<!-- ahriman_models_context_key -->
<g id="node131" class="node">
<title>ahriman_models_context_key</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db652f" stroke="black" cx="5640.29" cy="-4934.48" rx="48.58" ry="28.98"/>
<text text-anchor="middle" x="5640.29" y="-4942.98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="5640.29" y="-4931.98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="5640.29" y="-4920.98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">context_key</text>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core -->
<g id="edge551" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5640.29,-4850.49C5627.83,-4836.49 5628.34,-4815.12 5631.7,-4797.85"/>
<polygon fill="#db652f" stroke="black" points="5635.09,-4798.69 5634,-4788.16 5628.28,-4797.08 5635.09,-4798.69"/>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge552" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5648.74,-4905.81C5652.22,-4888.42 5652.91,-4866.67 5640.29,-4852.49"/>
<path fill="none" stroke="black" d="M5640.29,-4850.49C5608.79,-4815.09 3982.63,-4799.47 3935.29,-4797.49 3737.19,-4789.19 2289.75,-4847.35 2153.29,-4703.51 2007.22,-4549.53 2963.96,-4546.16 2980.29,-4537.52 3410.7,-4309.84 3415.33,-4101.95 3673.29,-3688.97 3880.31,-3357.54 3883.14,-3247.79 4041.29,-2890.44 4084.1,-2793.71 4098.34,-2770.85 4134.29,-2671.36 4180.45,-2543.64 4128.25,-2476.73 4222.29,-2378.75 4256.16,-2343.46 4290.51,-2376.1 4326.29,-2342.75 4357.77,-2313.39 4344.06,-2291.65 4364.29,-2253.65 4418.81,-2151.22 4425.53,-2117.89 4506.29,-2034.57 4565.76,-1973.22 4583.48,-1952.82 4664.29,-1925.03 4776.29,-1886.53 5588.04,-1862.38 5856.41,-1855.38"/>
<polygon fill="#db652f" stroke="black" points="5856.22,-1858.89 5866.12,-1855.13 5856.04,-1851.89 5856.22,-1858.89"/>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core_repository_repository -->
<g id="edge553" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5640.29,-4850.49C5614.69,-4821.62 6272.34,-4674.47 6310.29,-4667.51 6391.98,-4652.51 6618.57,-4684.77 6682.29,-4631.51 6800.44,-4532.74 6689.85,-4425.45 6776.29,-4298 6791.06,-4276.22 6802.89,-4278.62 6823.29,-4262 6853.82,-4237.13 6854.22,-4219.82 6890.29,-4204.02 7008.07,-4152.41 7914.36,-4100.05 8040.29,-4074.04 8172.13,-4046.8 8320.29,-4093.11 8320.29,-3958.49 8320.29,-3958.49 8320.29,-3958.49 8320.29,-3658.98 8320.29,-3500.66 8383.13,-3469.81 8405.29,-3313.04 8416.68,-3232.45 8414.44,-3211.26 8410.29,-3129.97 8390.37,-2740.29 8306.94,-2640.57 8357.29,-2253.65 8377.33,-2099.62 8357.7,-2025.37 8476.29,-1925.03 8615.12,-1807.58 9298.71,-1923.93 9274.29,-1743.73"/>
<path fill="none" stroke="black" d="M9274.29,-1741.73C9248.23,-1657.11 9131.03,-1637.97 9059.88,-1634.3"/>
<polygon fill="#db652f" stroke="black" points="9060.1,-1630.8 9049.96,-1633.88 9059.81,-1637.8 9060.1,-1630.8"/>
</g>
<!-- ahriman_models_counters&#45;&gt;ahriman_models_internal_status -->
<g id="edge554" class="edge">
<title>ahriman_models_counters&#45;&gt;ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11447.05,-3442.67C11446.73,-3435.15 11446.37,-3426.89 11446.02,-3418.88"/>
<polygon fill="#a34f28" stroke="black" points="11449.52,-3418.8 11445.59,-3408.96 11442.53,-3419.1 11449.52,-3418.8"/>
</g>
<!-- ahriman_models_counters&#45;&gt;ahriman_web_views_status_status -->
<g id="edge555" class="edge">
<title>ahriman_models_counters&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11483.96,-3459.85C11556.84,-3437.25 11728.29,-3385.17 11874.29,-3349.04 11950.1,-3330.28 11969.97,-3329.62 12046.29,-3313.04 12408.23,-3234.42 12494.13,-3191.96 12859.29,-3129.97 12996.9,-3106.6 13042.78,-3148.46 13171.29,-3093.97 13299.24,-3039.71 13561.63,-2791.04 13632.29,-2671.36 13770.52,-2437.25 13756.29,-2344.22 13756.29,-2072.34 13756.29,-2072.34 13756.29,-2072.34 13756.29,-1632.19 13756.29,-1337.32 13810.49,-1176.77 13580.29,-992.51"/>
<path fill="none" stroke="black" d="M13580.29,-990.51C13534.77,-956.99 13519.47,-953.99 13475.29,-918.74 13472.24,-916.31 13469.14,-913.72 13466.07,-911.08"/>
<polygon fill="#a34f28" stroke="black" points="13468.48,-908.53 13458.67,-904.52 13463.84,-913.77 13468.48,-908.53"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_core_status_client -->
<g id="edge556" class="edge">
<title>ahriman_models_internal_status&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11410.25,-3354.61C11323.59,-3297.53 11094.85,-3146.84 11001.17,-3085.13"/>
<polygon fill="#bf5321" stroke="black" points="11003.29,-3082.33 10993.01,-3079.75 10999.43,-3088.18 11003.29,-3082.33"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_core_status_web_client -->
<g id="edge557" class="edge">
<title>ahriman_models_internal_status&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11440.52,-3348.74C11439.22,-3337.63 11437.93,-3324.76 11437.29,-3313.04 11435.13,-3273.5 11433.03,-3263.32 11437.29,-3223.95 11440.42,-3195 11461.27,-3187.31 11451.29,-3159.96"/>
<path fill="none" stroke="black" d="M11451.29,-3157.96C11431.21,-3110.37 11382.6,-3137.16 11354.29,-3093.97 11320.27,-3042.07 11330.29,-3018.48 11330.29,-2956.43 11330.29,-2956.43 11330.29,-2956.43 11330.29,-2852.67 11330.29,-2782.46 11300.5,-2769.75 11268.29,-2707.36 11251.12,-2674.12 11229.27,-2672.68 11224.29,-2635.6"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_web_views_status_status -->
<g id="edge558" class="edge">
<title>ahriman_models_internal_status&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11487.02,-3358.71C11496.23,-3355.17 11506,-3351.74 11515.29,-3349.04 12012.04,-3204.88 12145.66,-3198.93 12658.29,-3129.97 12759.91,-3116.29 13025.73,-3138.08 13118.29,-3093.97 13178.89,-3065.08 13182.8,-3038.72 13222.29,-2984.43 13412.74,-2722.57 13491.44,-2657.54 13567.29,-2342.75 13576.56,-2304.25 13569.21,-2293.2 13567.29,-2253.65 13558.61,-2075.07 13528.29,-2032.06 13528.29,-1853.27 13528.29,-1853.27 13528.29,-1853.27 13528.29,-1741.73 13528.29,-1661.45 13420.64,-1108.3 13414.29,-1028.28 13411.7,-995.7 13411.44,-987.3 13414.29,-954.74 13415.02,-946.39 13416.17,-937.59 13417.51,-929.03"/>
<polygon fill="#bf5321" stroke="black" points="13420.91,-929.88 13419.11,-919.44 13414.01,-928.73 13420.91,-929.88"/>
</g>
<!-- ahriman_models_log_record_id -->
<g id="node134" class="node">
<title>ahriman_models_log_record_id</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db652f" stroke="black" cx="12094.29" cy="-2744.13" rx="52.15" ry="28.98"/>
<text text-anchor="middle" x="12094.29" y="-2752.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="12094.29" y="-2741.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="12094.29" y="-2730.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">log_record_id</text>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge559" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12054.8,-2724.9C11953.35,-2678.96 11674.21,-2558.24 11428.29,-2503.84 11255.3,-2465.58 11199.08,-2524.7 11031.29,-2467.84 11025.59,-2465.91 11019.88,-2463.42 11014.32,-2460.61"/>
<polygon fill="#db652f" stroke="black" points="11016.29,-2457.7 11005.84,-2455.98 11012.94,-2463.84 11016.29,-2457.7"/>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_core_status_watcher -->
<g id="edge560" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12086.53,-2715.27C12076.72,-2679.76 12059.53,-2616.41 12046.29,-2561.83 12009.35,-2409.59 11999.87,-2371.49 11970.29,-2217.65 11935.69,-2037.69 11958.1,-1980.94 11879.29,-1815.5 11855.23,-1764.99 11848.26,-1752.54 11817.29,-1705.96 11731.63,-1577.13 11610.1,-1585.25 11604.29,-1430.67"/>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge561" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12133.21,-2724.44C12262.92,-2663.05 12693.69,-2466.61 13072.29,-2378.75 13150.82,-2360.52 13366.14,-2387.36 13433.29,-2342.75 13656.39,-2194.51 13874.52,-1515.42 14008.29,-1283.36 14017.65,-1267.11 14021.4,-1263.87 14030.29,-1247.36 14072.9,-1168.2 14059.66,-1134.1 14116.29,-1064.28 14149.62,-1023.18 14225.22,-1043.56 14211.29,-992.51"/>
<path fill="none" stroke="black" d="M14211.29,-990.51C14205.08,-971.17 14169.86,-935.86 14141.11,-909.38"/>
<polygon fill="#db652f" stroke="black" points="14143.69,-906.99 14133.94,-902.84 14138.97,-912.17 14143.69,-906.99"/>
</g>
<!-- ahriman_models_migration&#45;&gt;ahriman_core_database_migrations -->
<g id="edge562" class="edge">
<title>ahriman_models_migration&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10377.69,-3028.47C10385.99,-3000.82 10401.34,-2958.03 10424.29,-2926.44 10438.74,-2906.55 10451.91,-2910.38 10466.29,-2890.44 10502.07,-2840.83 10566.77,-2696.66 10570.29,-2635.6"/>
<path fill="none" stroke="black" d="M10570.29,-2633.6C10571.7,-2601.62 10574.95,-2593.81 10576.29,-2561.83 10577.36,-2536.08 10576.61,-2529.61 10576.29,-2503.84 10576.16,-2493.29 10575.92,-2481.96 10575.66,-2471.24"/>
<polygon fill="#b0603a" stroke="black" points="10579.17,-2471.35 10575.41,-2461.44 10572.17,-2471.53 10579.17,-2471.35"/>
</g>
<!-- ahriman_models_migration_result&#45;&gt;ahriman_core_database_migrations -->
<g id="edge563" class="edge">
<title>ahriman_models_migration_result&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10831.92,-4574.64C10795.45,-4515.57 10714.29,-4368.93 10714.29,-4234.01 10714.29,-4234.01 10714.29,-4234.01 10714.29,-3956.49 10714.29,-3781.2 10652.29,-3742.29 10652.29,-3567 10652.29,-3567 10652.29,-3567 10652.29,-3471.02 10652.29,-3270.37 10700.55,-3220.05 10680.29,-3020.43 10672.69,-2945.61 10665.55,-2927.37 10646.29,-2854.67"/>
<path fill="none" stroke="black" d="M10646.29,-2852.67C10619.38,-2754.06 10577.4,-2737.57 10570.29,-2635.6"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_application_application -->
<g id="edge564" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6186.29,-3560.69C6145.15,-3554.23 6079.73,-3538.48 6037.29,-3501.01 5951.45,-3425.23 5971.35,-3373.87 5924.29,-3269.5"/>
<path fill="none" stroke="black" d="M5924.29,-3267.5C5885.08,-3209.01 5846.11,-3226.64 5787.29,-3187.95 5396.79,-2931.06 5220.72,-2937.27 4942.29,-2561.83 4858.09,-2448.29 4728.29,-2104.16 4728.29,-1962.8 4728.29,-1962.8 4728.29,-1962.8 4728.29,-1209.59 4728.29,-1035.15 5003.31,-1000.72 5126.65,-994.05"/>
<polygon fill="#953103" stroke="black" points="5126.77,-997.54 5136.59,-993.56 5126.43,-990.55 5126.77,-997.54"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge565" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6247.29,-3267.5C6244.78,-3175.76 6200.09,-2925.63 6258.29,-2854.67"/>
<path fill="none" stroke="black" d="M6258.29,-2852.67C6297.22,-2780.7 6283.15,-2752.88 6290.29,-2671.36 6304.9,-2504.49 6255.81,-2076.52 6184.29,-1925.03 6129.88,-1809.79 6095.29,-1789.77 5999.29,-1705.96 5829.76,-1557.94 5636.39,-1646.98 5574.29,-1430.67"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge566" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5838.29,-3471.02C5777.62,-3428.82 5781.31,-3397.23 5725.29,-3349.04 5650.32,-3284.56 5625.67,-3275.51 5541.29,-3223.95 5219.34,-3027.19 5134.9,-2983.35 4796.29,-2816.9 4760.57,-2799.35 4741.62,-2809.84 4714.29,-2780.9 4581.05,-2639.87 4409.29,-2156.83 4409.29,-1962.8 4409.29,-1962.8 4409.29,-1962.8 4409.29,-1530.43 4409.29,-1437.4 4397.94,-1413.45 4409.29,-1321.13"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge567" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6185.59,-3564.47C5975.63,-3561.4 4977.99,-3544.63 4848.29,-3501.01 4735.3,-3463.01 4739.87,-3388.23 4627.29,-3349.04 4403.47,-3271.14 4329.28,-3350.59 4095.29,-3313.04 3937.65,-3287.75 3903.02,-3259.13 3747.29,-3223.95 3535.67,-3176.14 3483.19,-3159.66 3268.29,-3129.97 3170.23,-3116.41 2916.11,-3130.96 2824.29,-3093.97 2776.37,-3074.66 2782.2,-3039.73 2734.29,-3020.43 2551.07,-2946.59 2478.54,-3047.35 2291.29,-2984.43 2245.83,-2969.15 2244.74,-2944.43 2200.29,-2926.44 2126.28,-2896.49 2097.91,-2921.35 2024.29,-2890.44 2004.21,-2882.02 1712.91,-2688.35 1699.29,-2671.36 1658.21,-2620.14 1645.29,-2599.5 1645.29,-2533.83 1645.29,-2533.83 1645.29,-2533.83 1645.29,-2422.3 1645.29,-2131.95 1774.09,-2082.87 1887.29,-1815.5 1926.36,-1723.21 2234.99,-1090.43 2256.29,-992.51"/>
<path fill="none" stroke="black" d="M2256.29,-990.51C2258.54,-884.62 2245.6,-760.73 2237.49,-694.95"/>
<polygon fill="#953103" stroke="black" points="2240.99,-694.73 2236.27,-685.25 2234.04,-695.6 2240.99,-694.73"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge568" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6185.48,-3564.78C5933.57,-3563.19 4527.36,-3552.11 4101.29,-3501.01 3470.69,-3425.38 3345.7,-3246.06 2721.29,-3129.97 2541.88,-3096.61 2489.23,-3138.59 2312.29,-3093.97 2201.33,-3065.98 1943.01,-2938.77 1839.29,-2890.44 1642.71,-2798.86 1525.15,-2850.76 1403.29,-2671.36 1330.07,-2563.58 1377.01,-2508.78 1385.29,-2378.75 1401.32,-2126.89 1413.56,-2064.05 1457.29,-1815.5 1536.1,-1367.49 1580.31,-1258.39 1732.29,-829.64 1743.73,-797.37 1741.19,-786.29 1760.29,-757.87"/>
<path fill="none" stroke="black" d="M1760.29,-755.87C1769.99,-739.37 1769.86,-732.69 1784.29,-720.1 1799.63,-706.73 1843.88,-685.83 1879.86,-670.03"/>
<polygon fill="#953103" stroke="black" points="1881.08,-673.31 1888.85,-666.11 1878.28,-666.9 1881.08,-673.31"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge569" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6185.89,-3561.79C6113.89,-3555.14 5954.16,-3537.32 5824.29,-3501.01 5023.04,-3276.99 4715.02,-3166.49 4263.29,-2467.84 4143.56,-2282.68 4161.52,-2210.97 4102.29,-1998.57 3970.38,-1525.56 3969.63,-1399.23 3868.29,-918.74 3864.52,-900.89 3848.5,-770.46 3835.29,-757.87"/>
<path fill="none" stroke="black" d="M3835.29,-755.87C3734.18,-681.49 2848.58,-655.89 2583.76,-649.86"/>
<polygon fill="#953103" stroke="black" points="2583.96,-646.36 2573.88,-649.64 2583.8,-653.36 2583.96,-646.36"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_status -->
<g id="edge570" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6185.65,-3563.58C6089.17,-3559.46 5830.24,-3544.86 5619.29,-3501.01 5482.9,-3472.66 5145.97,-3375.16 5021.29,-3313.04 4871.25,-3238.3 4847.92,-3195.15 4714.29,-3093.97 4537.09,-2959.79 4458.04,-2958.43 4324.29,-2780.9 4295.2,-2742.3 3677.65,-1217.65 3657.29,-1173.82 3609.49,-1070.93 3601.14,-1039.99 3526.29,-954.74 3491.06,-914.62 3456.44,-924.63 3436.29,-875.19"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge571" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6179.57,-3547.89C6119.25,-3521.55 6019.29,-3464.94 6019.29,-3379.03 6019.29,-3379.03 6019.29,-3379.03 6019.29,-3267.5 6019.29,-3205.45 6019.45,-3187.11 5995.29,-3129.97 5928.35,-2971.67 5889.99,-2938.25 5768.29,-2816.9 5709.32,-2758.11 5536.55,-2639.21 5464.29,-2597.83 5347.92,-2531.18 5201.16,-2472.55 5124.1,-2443.55"/>
<polygon fill="#953103" stroke="black" points="6178.01,-3551.03 6188.58,-3551.72 6180.74,-3544.59 6178.01,-3551.03"/>
<polygon fill="#953103" stroke="black" points="5125.7,-2440.42 5115.11,-2440.19 5123.25,-2446.98 5125.7,-2440.42"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge572" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6562.29,-3471.02C6575.78,-3467.64 6564.78,-3450.84 6576.29,-3443.03 6580.6,-3440.1 8067.03,-3316.04 8071.29,-3313.04 8499.6,-3011.92 8106.53,-2615.28 8400.29,-2181.88"/>
<path fill="none" stroke="black" d="M8400.29,-2179.88C8409.97,-2164.71 8407.06,-2157.33 8419.29,-2144.11 8459.69,-2100.44 8545.15,-2130.43 8532.29,-2072.34"/>
<path fill="none" stroke="black" d="M8532.29,-2070.34C8527.98,-2050.87 8527.26,-2028.92 8527.9,-2009.96"/>
<polygon fill="#953103" stroke="black" points="8531.39,-2010.25 8528.37,-2000.09 8524.39,-2009.91 8531.39,-2010.25"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_database_operations_build_operations -->
<g id="edge573" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_database_operations_build_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6186.39,-3560.44C6099.79,-3549.33 5890.8,-3518.4 5838.29,-3473.02"/>
<path fill="none" stroke="black" d="M5838.29,-3471.02C5611.06,-3274.64 4911.4,-2967.77 4676.29,-2780.9 4553.61,-2683.4 4431.86,-2543.45 4372.18,-2471.29"/>
<polygon fill="#953103" stroke="black" points="4374.89,-2469.08 4365.83,-2463.58 4369.49,-2473.53 4374.89,-2469.08"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge574" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6262.74,-3563.85C6396.54,-3559.88 6854.26,-3546.42 7232.29,-3537.01 7595.37,-3527.97 8504.85,-3536.7 8866.29,-3501.01 9105.23,-3477.41 9166.21,-3468.59 9398.29,-3407.03 9472.2,-3387.42 9485.59,-3365.42 9560.29,-3349.04 9738.1,-3310.05 9787.6,-3335.14 9968.29,-3313.04 10034.52,-3304.94 10109.22,-3293.09 10164.49,-3283.79"/>
<polygon fill="#953103" stroke="black" points="10164.86,-3287.28 10174.14,-3282.16 10163.69,-3280.38 10164.86,-3287.28"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_build_printer -->
<g id="edge575" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_build_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6185.81,-3564.41C6071.75,-3562.1 5725.87,-3551.15 5444.29,-3501.01 5349.38,-3484.11 5328.46,-3467.76 5235.29,-3443.03 5172.36,-3426.32 5155.55,-3426.08 5093.29,-3407.03 4975.39,-3370.95 4945.37,-3362.16 4832.29,-3313.04 4668.73,-3242.01 4639.17,-3200.23 4475.29,-3129.97 4430.72,-3110.86 4417.07,-3112.57 4372.29,-3093.97 4077.65,-2971.56 4010.89,-2925.11 3726.29,-2780.9 3633.44,-2733.86 3609.63,-2723.05 3519.29,-2671.36 3515.53,-2669.21 3511.65,-2666.94 3507.78,-2664.63"/>
<polygon fill="#953103" stroke="black" points="3509.87,-2661.81 3499.49,-2659.64 3506.25,-2667.8 3509.87,-2661.81"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge576" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4803.29,-3377.03C4787.6,-3372.29 4793.05,-3357.93 4779.29,-3349.04 4731.44,-3318.14 4709.37,-3333.7 4656.29,-3313.04 4572.73,-3280.53 4557.03,-3260.79 4475.29,-3223.95 4347.51,-3166.36 3301.45,-2885.12 3308.29,-2745.13"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_tree_printer -->
<g id="edge577" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6185.53,-3564.58C6025.9,-3562.51 5419.17,-3551.42 5235.29,-3501.01 5180.47,-3485.98 5175.21,-3461 5121.29,-3443.03 5033.11,-3413.63 5006.21,-3426.31 4915.29,-3407.03 4865.09,-3396.38 4852.43,-3393.78 4803.29,-3379.03"/>
<path fill="none" stroke="black" d="M4803.29,-3377.03C4787.65,-3372.13 4793.75,-3356.75 4779.29,-3349.04 4659.24,-3285.02 4607.92,-3343.35 4475.29,-3313.04 4353.4,-3285.19 4064.28,-3161.46 3943.29,-3129.97 3766.3,-3083.9 3296.77,-3066.39 3133.29,-2984.43 2994.06,-2914.62 2913.86,-2896.52 2877.29,-2745.13"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge578" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6185.69,-3563.89C6015.68,-3558.83 5332.66,-3536.62 5121.29,-3501.01 4970.06,-3475.53 4917.76,-3490.76 4789.29,-3407.03 4761.26,-3388.76 4771.06,-3364.3 4741.29,-3349.04 4636.03,-3295.11 4320.83,-3355.09 4210.29,-3313.04 4149.85,-3290.06 4154.72,-3249.4 4095.29,-3223.95 4006.55,-3185.94 3331.39,-3110.52 3236.29,-3093.97 3205.27,-3088.57 2707.14,-3000.86 2680.29,-2984.43 2585.11,-2926.18 2574.93,-2884.42 2533.29,-2780.9 2520.62,-2749.42 2514.1,-2711.63 2510.76,-2682.48"/>
<polygon fill="#953103" stroke="black" points="2514.28,-2682.44 2509.75,-2672.86 2507.31,-2683.18 2514.28,-2682.44"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge579" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5924.29,-3267.5C5847.63,-3062.12 5420.16,-2643.37 5412.29,-2424.3"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge580" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5924.29,-3267.5C5903.02,-3222.43 5878.9,-3224.73 5845.29,-3187.95 5769.83,-3105.39 5737.14,-3088.93 5697.29,-2984.43 5620.36,-2782.68 5577.89,-2714.26 5626.29,-2503.84 5682.81,-2258.11 5845.1,-1997.58 5912.44,-1896.67"/>
<polygon fill="#953103" stroke="black" points="5915.34,-1898.64 5918,-1888.39 5909.53,-1894.74 5915.34,-1898.64"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_console -->
<g id="edge581" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6260.53,-3555.55C6307.57,-3543.24 6392.17,-3520.92 6464.29,-3501.01 6507.95,-3488.95 6518.3,-3483.85 6562.29,-3473.02"/>
<path fill="none" stroke="black" d="M6562.29,-3471.02C6578.2,-3467.1 6572.1,-3451.23 6586.29,-3443.03 6660.68,-3399.98 6692.07,-3424.18 6776.29,-3407.03 6894.85,-3382.88 6922.24,-3364.19 7042.29,-3349.04 7096.78,-3342.17 7992.16,-3352.58 8030.29,-3313.04 8183.34,-3154.31 7998.87,-3035.16 8030.29,-2816.9 8047.13,-2699.94 8078.02,-2676.8 8105.29,-2561.83 8119.63,-2501.38 8115.49,-2484.63 8130.29,-2424.3"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_email -->
<g id="edge582" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6374.29,-3471.02C6426.66,-3421.68 6602.75,-3413.76 6619.29,-3407.03 6716.32,-3367.48 7330.83,-2961.01 7408.29,-2890.44 7570.68,-2742.49 7555.15,-2653.17 7716.29,-2503.84 7751.26,-2471.43 7794.06,-2471.63 7788.29,-2424.3"/>
<path fill="none" stroke="black" d="M7788.29,-2422.3C7784.57,-2401.51 7783.02,-2394.79 7769.29,-2378.75 7726.48,-2328.71 7657.25,-2363.76 7644.29,-2299.2"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_html -->
<g id="edge583" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7094.29,-3471.02C7577.14,-3427.18 7711.26,-3517.74 8183.29,-3407.03 8287.2,-3382.65 8315.34,-3372.05 8404.29,-3313.04 8451.72,-3281.58 8447.33,-3252.97 8496.29,-3223.95 8542.72,-3196.42 8565.81,-3215.41 8612.29,-3187.95 9008.68,-2953.73 9134.77,-2796.76 9211.29,-2342.75 9226.36,-2253.29 9220.05,-2215.67 9164.29,-2144.11 9149.99,-2125.77 9129.95,-2109.61 9112.04,-2097.29"/>
<polygon fill="#953103" stroke="black" points="9114.43,-2094.68 9104.17,-2092.05 9110.55,-2100.51 9114.43,-2094.68"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_report -->
<g id="edge584" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6262.22,-3559.57C6426.63,-3536.04 7069.86,-3444 7080.29,-3443.03 7441.3,-3409.41 7536.94,-3462.24 7895.29,-3407.03 8054.9,-3382.43 8101.34,-3384.25 8246.29,-3313.04 8328.57,-3272.62 8345.54,-3252.85 8410.29,-3187.95 8450.39,-3147.75 8701.17,-2834.72 8719.29,-2780.9 8729.71,-2749.93 8732.6,-2737.21 8719.29,-2707.36 8689.6,-2640.81 8654.05,-2643.52 8597.29,-2597.83 8575.96,-2580.65 8559.77,-2586.2 8547.29,-2561.83 8535.54,-2538.89 8534.76,-2526.36 8547.29,-2503.84 8562.04,-2477.33 8585.43,-2490.79 8605.29,-2467.84 8619.11,-2451.88 8617.74,-2444.37 8624.29,-2424.3"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge585" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6247.29,-3267.5C6249.57,-3231.67 6256.73,-3223.56 6261.29,-3187.95 6276.08,-3072.29 6258.32,-3040.55 6282.29,-2926.44 6292.88,-2876.01 6286.18,-2855.53 6320.29,-2816.9 6344.23,-2789.79 6364.44,-2802.73 6393.29,-2780.9 6462.63,-2728.45 6543.17,-2720.47 6524.29,-2635.6"/>
<path fill="none" stroke="black" d="M6524.29,-2633.6C6517.1,-2588.67 6468.88,-2603.79 6451.29,-2561.83 6421.73,-2491.31 6386.37,-2408.87 6477.29,-2253.65 6491.31,-2229.71 6506.87,-2235.29 6528.29,-2217.65 6569.77,-2183.5 6613.79,-2140.6 6643.72,-2110.29"/>
<polygon fill="#953103" stroke="black" points="6646.2,-2112.76 6650.71,-2103.17 6641.21,-2107.85 6646.2,-2112.76"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_telegram -->
<g id="edge586" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7094.29,-3471.02C7619.04,-3422.48 7766.21,-3531.51 8278.29,-3407.03 8899.18,-3256.08 8976.83,-2999.08 9589.29,-2816.9 9688.46,-2787.41 9735.83,-2842.06 9819.29,-2780.9 9892.58,-2727.2 9843.63,-2659.57 9910.29,-2597.83 9965.87,-2546.34 10045.62,-2606.13 10068.29,-2533.83"/>
<path fill="none" stroke="black" d="M10068.29,-2531.83C10081.08,-2481.51 10041.97,-2350.95 10046.29,-2299.2"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_executor -->
<g id="edge587" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6258.18,-3551.73C6329.19,-3524.02 6491.67,-3461.07 6548.29,-3443.03 6608.27,-3423.91 6627.6,-3432.24 6685.29,-3407.03 6729.23,-3387.82 6730.45,-3363.14 6776.29,-3349.04 6841.15,-3329.09 7950.01,-3361.73 7997.29,-3313.04 8024.87,-3284.63 7997.41,-3263.55 7997.29,-3223.95 7996.32,-2903.9 7980.86,-2823.65 7993.29,-2503.84 7999.51,-2343.6 8008.14,-2303.94 8021.29,-2144.11 8031.96,-2014.46 7952.79,-1934.65 8054.29,-1853.27"/>
<path fill="none" stroke="black" d="M8054.29,-1851.27C8121.43,-1791.37 8756.31,-1755.79 8949.06,-1746.3"/>
<polygon fill="#953103" stroke="black" points="8948.98,-1749.81 8958.8,-1745.83 8948.64,-1742.82 8948.98,-1749.81"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_repository -->
<g id="edge588" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6262.95,-3563.34C6365.3,-3558.96 6651.8,-3546.74 6890.29,-3537.01 7294.27,-3520.52 7396.47,-3535.83 7799.29,-3501.01 8672.42,-3425.52 8918.72,-3376.95 9702.29,-2984.43 9850.31,-2910.27 9895.99,-2896.73 10014.29,-2780.9 10084.69,-2711.97 10068.39,-2666.24 10139.29,-2597.83 10160.85,-2577.02 10175.85,-2583.74 10196.29,-2561.83 10352.43,-2394.37 10344.08,-2315.88 10440.29,-2108.11 10491.42,-1997.7 10520.07,-1973.25 10540.29,-1853.27"/>
<path fill="none" stroke="black" d="M10540.29,-1851.27C10540.62,-1846.5 9331.45,-1679.34 9058.56,-1641.67"/>
<polygon fill="#953103" stroke="black" points="9059.27,-1638.24 9048.89,-1640.34 9058.31,-1645.17 9059.27,-1638.24"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge589" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6262.73,-3563.44C6516.83,-3552.92 7957.98,-3490.35 8389.29,-3407.03 8524.39,-3380.93 8554.76,-3359.5 8684.29,-3313.04 8890.63,-3239.04 8932.51,-3193.59 9142.29,-3129.97 9216.19,-3107.55 9240.76,-3123.1 9312.29,-3093.97 9525.26,-3007.2 9541.84,-2916.15 9749.29,-2816.9 9794.17,-2795.43 9815.34,-2810.56 9855.29,-2780.9 9935.63,-2721.27 9906.89,-2658.71 9986.29,-2597.83 10022.45,-2570.09 10052.88,-2596.63 10082.29,-2561.83 10236.33,-2379.51 10138.77,-2268.87 10184.29,-2034.57 10190.49,-2002.67 10202.62,-1995.01 10198.29,-1962.8"/>
<path fill="none" stroke="black" d="M10198.29,-1960.8C10161.16,-1808.23 9625.73,-1760.05 9431.24,-1747.54"/>
<polygon fill="#953103" stroke="black" points="9431.74,-1744.06 9421.54,-1746.93 9431.3,-1751.05 9431.74,-1744.06"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_client -->
<g id="edge590" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6262.9,-3563.3C6372.84,-3558.51 6696.97,-3544.75 6966.29,-3537.01 7168.91,-3531.19 8592.55,-3545.62 8790.29,-3501.01 8819.78,-3494.35 8822.37,-3477.39 8852.29,-3473.02"/>
<path fill="none" stroke="black" d="M8852.29,-3471.02C8866.05,-3469 8855.25,-3451.49 8866.29,-3443.03 8962.94,-3368.92 9820.38,-3245.29 9940.29,-3223.95 10318.27,-3156.67 10416.68,-3163.32 10794.29,-3093.97 10833.97,-3086.68 10878.67,-3076.96 10911.68,-3069.49"/>
<polygon fill="#953103" stroke="black" points="10912.39,-3072.92 10921.36,-3067.29 10910.84,-3066.09 10912.39,-3072.92"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_watcher -->
<g id="edge591" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6263.1,-3564.8C6561.29,-3563.19 8492.42,-3550.91 9074.29,-3501.01 9636.22,-3452.81 9772.99,-3405.92 10329.29,-3313.04 10631.95,-3262.51 10707.22,-3247.3 11008.29,-3187.95 11131.27,-3163.71 11160.5,-3149.67 11284.29,-3129.97 11357.14,-3118.37 11562.38,-3146.38 11614.29,-3093.97 11747.11,-2959.86 11646.94,-2859.88 11656.29,-2671.36 11662.73,-2541.47 11661.07,-2508.71 11656.29,-2378.75 11645.29,-2079.67 11599.5,-2003.85 11628.29,-1705.96 11631.41,-1673.61 11648.06,-1666.17 11642.29,-1634.19"/>
<path fill="none" stroke="black" d="M11642.29,-1632.19C11629.75,-1586.43 11595,-1578.95 11604.29,-1532.43"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_web_client -->
<g id="edge592" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8852.29,-3471.02C8866.06,-3469.08 8855.08,-3451.26 8866.29,-3443.03 8947.2,-3383.59 8990.39,-3424.29 9089.29,-3407.03 9226.94,-3383 9260.22,-3370.52 9398.29,-3349.04 9527.06,-3329.02 9561.43,-3338.24 9689.29,-3313.04 9837.08,-3283.92 9868.13,-3251.16 10016.29,-3223.95 10178.36,-3194.18 10221.77,-3208.26 10385.29,-3187.95 10419.97,-3183.64 10980.02,-3115.82 11007.29,-3093.97 11020.31,-3083.53 11224.14,-2550.52 11224.29,-2533.83"/>
<path fill="none" stroke="black" d="M11224.29,-2531.83C11223.42,-2509.08 11231.59,-2485.35 11240.95,-2465.99"/>
<polygon fill="#953103" stroke="black" points="11243.93,-2467.84 11245.37,-2457.35 11237.7,-2464.65 11243.93,-2467.84"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_tree -->
<g id="edge593" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6185.66,-3564.28C5982.95,-3560.33 5040.45,-3540.17 4751.29,-3501.01 4615.04,-3482.56 3680.59,-3248.39 3545.29,-3223.95 3425.29,-3202.27 3389.32,-3225.46 3273.29,-3187.95 3269.13,-3186.6 3264.91,-3184.93 3260.77,-3183.07"/>
<polygon fill="#953103" stroke="black" points="3262.59,-3180.07 3252.07,-3178.83 3259.52,-3186.36 3262.59,-3180.07"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge594" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6256.92,-3550.22C6289.33,-3534.42 6339.14,-3506.98 6374.29,-3473.02"/>
<path fill="none" stroke="black" d="M6374.29,-3471.02C6415.8,-3430.92 6301.03,-3448.87 6261.29,-3407.03 6251.71,-3396.94 6257.12,-3388.87 6247.29,-3379.03"/>
<path fill="none" stroke="black" d="M6247.29,-3377.03C6108.41,-3238.11 6090.71,-3175.3 6044.29,-2984.43 6032.35,-2935.33 6049.01,-2596.99 6055.71,-2471.23"/>
<polygon fill="#953103" stroke="black" points="6059.19,-2471.77 6056.23,-2461.6 6052.2,-2471.4 6059.19,-2471.77"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge595" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6247.29,-3377.03C6213.5,-3343.23 6250.04,-3317.21 6247.29,-3269.5"/>
<path fill="none" stroke="black" d="M6247.29,-3267.5C6239.35,-3129.83 6149.15,-3119.26 6120.29,-2984.43 6087.91,-2833.18 6231.23,-2820.49 6272.29,-2671.36 6280.96,-2639.85 6289.31,-2625.73 6272.29,-2597.83 6244.8,-2552.78 6185.56,-2584.9 6172.29,-2533.83"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_github -->
<g id="edge596" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6262.69,-3561.88C6365.02,-3553.43 6652.69,-3528.89 6891.29,-3501.01 6981.75,-3490.44 7003.57,-3481.13 7094.29,-3473.02"/>
<path fill="none" stroke="black" d="M7094.29,-3471.02C7642.82,-3421.99 7828.26,-3554.37 8323.29,-3313.04 8387.91,-3281.54 8393.82,-3255.75 8458.29,-3223.95 8502.15,-3202.31 8522.98,-3217.05 8562.29,-3187.95 8838.97,-2983.11 8870.98,-2872.97 9018.29,-2561.83 9021.93,-2554.13 9080.19,-2327.01 9105.6,-2227.66"/>
<polygon fill="#953103" stroke="black" points="9108.92,-2228.79 9108.01,-2218.23 9102.14,-2227.05 9108.92,-2228.79"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge597" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6524.29,-2633.6C6513.25,-2592.92 6476.99,-2601.33 6462.29,-2561.83 6453.3,-2537.67 6452.7,-2527.76 6462.29,-2503.84 6480.48,-2458.46 6528.77,-2472.26 6538.29,-2424.3"/>
<path fill="none" stroke="black" d="M6538.29,-2422.3C6541.43,-2396.91 6538.64,-2368.55 6534.74,-2345.46"/>
<polygon fill="#953103" stroke="black" points="6538.2,-2344.94 6532.96,-2335.73 6531.32,-2346.2 6538.2,-2344.94"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge598" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6374.29,-3267.5C6395.11,-3139.9 6627.53,-2876.44 6742.29,-2816.9 6842.16,-2765.09 7152.99,-2842.26 7247.29,-2780.9 7262.38,-2771.09 7263.91,-2762.98 7266.29,-2745.13"/>
<path fill="none" stroke="black" d="M7266.29,-2743.13C7272.55,-2681.31 7201.74,-2699.42 7146.29,-2671.36 7136.59,-2666.46 6991.45,-2569.99 6984.29,-2561.83 6975.12,-2551.37 6979.83,-2543.95 6970.29,-2533.83"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_upload -->
<g id="edge599" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6374.29,-3471.02C6438.7,-3408.79 6351.18,-3356.03 6374.29,-3269.5"/>
<path fill="none" stroke="black" d="M6374.29,-3267.5C6395.91,-3159.39 6356.92,-3123.4 6396.29,-3020.43 6436.6,-2914.97 6449.06,-2870.76 6548.29,-2816.9 6602.21,-2787.64 7057.34,-2825.68 7099.29,-2780.9 7121.63,-2757.05 7119.38,-2733.14 7099.29,-2707.36 7059,-2655.67 7005.47,-2714.69 6956.29,-2671.36 6943.48,-2660.08 6954.32,-2647.71 6942.29,-2635.6"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge600" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6258.29,-2852.67C6270.96,-2838.32 6268.14,-2829.81 6282.29,-2816.9 6306.97,-2794.38 6323.43,-2803.23 6348.29,-2780.9 6392.37,-2741.31 6406.59,-2727.91 6424.29,-2671.36 6434.05,-2640.17 6443.61,-2624.19 6424.29,-2597.83 6392.88,-2554.97 6341.7,-2604.68 6310.29,-2561.83 6295.05,-2541.04 6305.95,-2529.25 6310.29,-2503.84 6326.52,-2408.8 6375.22,-2395.36 6382.29,-2299.2"/>
<path fill="none" stroke="black" d="M6382.29,-2297.2C6384.86,-2235.76 6388.8,-2164.92 6391.46,-2119.44"/>
<polygon fill="#953103" stroke="black" points="6394.94,-2119.86 6392.03,-2109.67 6387.95,-2119.45 6394.94,-2119.86"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_models_counters -->
<g id="edge601" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6263,-3565.04C6722.93,-3565.5 11131.41,-3568.15 11395.29,-3501.01 11399.83,-3499.85 11404.41,-3498.24 11408.87,-3496.36"/>
<polygon fill="#953103" stroke="black" points="11410.08,-3499.66 11417.65,-3492.25 11407.11,-3493.33 11410.08,-3499.66"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_models_result -->
<g id="edge602" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6374.29,-3471.02C6632.56,-3220.13 6537.41,-2991.55 6852.29,-2816.9 6935.75,-2770.61 7190.41,-2813.02 7280.29,-2780.9 7286.16,-2778.81 7291.98,-2775.88 7297.5,-2772.59"/>
<polygon fill="#953103" stroke="black" points="7299.29,-2775.59 7305.76,-2767.2 7295.47,-2769.73 7299.29,-2775.59"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_web_views_status_package -->
<g id="edge603" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6262.67,-3564.65C6574.77,-3561.74 8701.12,-3540.68 9341.29,-3501.01 9745.78,-3475.94 9847.02,-3463.85 10248.29,-3407.03 10792.44,-3329.97 10938.42,-3344.3 11465.29,-3187.95 11466.9,-3187.47 11686.8,-3094.74 11688.29,-3093.97 11839.91,-3015.32 11871.34,-2983.94 12014.29,-2890.44 12086.41,-2843.27 12134.09,-2857.14 12174.29,-2780.9 12189.53,-2751.99 12175.95,-2740.01 12174.29,-2707.36 12157.38,-2375.16 12098.29,-2295.44 12098.29,-1962.8 12098.29,-1962.8 12098.29,-1962.8 12098.29,-1851.27 12098.29,-1443.86 12313.58,-1382.24 12568.29,-1064.28 12582.83,-1046.12 12591.27,-1046.05 12606.29,-1028.28 12618.65,-1013.66 12620.27,-1008.82 12630.29,-992.51"/>
<path fill="none" stroke="black" d="M12630.29,-990.51C12674.35,-922.31 12729.58,-962.01 12798.29,-918.74 12801.59,-916.66 12804.87,-914.33 12808.07,-911.87"/>
<polygon fill="#953103" stroke="black" points="12810.18,-914.66 12815.66,-905.6 12805.72,-909.26 12810.18,-914.66"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge604" class="edge">
<title>ahriman_models_package_description&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7055.53,-4137.21C7297.85,-4134.12 8056.06,-4120.88 8296.29,-4074.04 8928.99,-3950.65 9059.68,-3815.83 9665.29,-3594.99 9792.35,-3548.66 10230.5,-3514.23 10234.29,-3379.03"/>
<path fill="none" stroke="black" d="M10234.29,-3377.03C10237.1,-3360.09 10239.43,-3341.54 10241.27,-3324.69"/>
<polygon fill="#ae4b1e" stroke="black" points="10244.74,-3325.15 10242.31,-3314.84 10237.78,-3324.42 10244.74,-3325.15"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_core_repository_executor -->
<g id="edge605" class="edge">
<title>ahriman_models_package_description&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7054.97,-4135.66C7331.62,-4125.89 8282.29,-4083.27 8282.29,-3958.49 8282.29,-3958.49 8282.29,-3958.49 8282.29,-3752.97 8282.29,-3303.41 8150.46,-3192.35 8196.29,-2745.13"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_models_package -->
<g id="edge606" class="edge">
<title>ahriman_models_package_description&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6946.59,-4112.78C6879.93,-4064.38 6724.8,-3959.23 6576.29,-3912.94 6496.57,-3888.09 6263.03,-3934.23 6202.29,-3876.94 6162.37,-3839.3 6175.82,-3809.32 6183.29,-3754.97"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_application_ahriman -->
<g id="edge607" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6156.01,-3752.19C6828.18,-3743.78 12683.94,-3668.5 13040.29,-3594.99 13315.63,-3538.19 15337.29,-2814.98 15337.29,-2533.83 15337.29,-2533.83 15337.29,-2533.83 15337.29,-2297.2 15337.29,-2194.64 15426.83,-1888.84 15451.29,-1743.73"/>
<path fill="none" stroke="black" d="M15451.29,-1741.73C15453.79,-1694 15445.83,-1681.67 15451.29,-1634.19"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge608" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5886.29,-3658.98C5852.89,-3634.64 5886.29,-3514.34 5886.29,-3473.02 5886.29,-3473.02 5886.29,-3473.02 5886.29,-3377.03 5886.29,-3001.53 5753.66,-2926.54 5664.29,-2561.83 5607.2,-2328.87 5609.98,-2266.61 5549.29,-2034.57 5515.08,-1903.79 5460.29,-1878.91 5460.29,-1743.73 5460.29,-1743.73 5460.29,-1743.73 5460.29,-1632.19 5460.29,-1573.54 5454.12,-1552.73 5484.29,-1502.43 5510.6,-1458.56 5594.67,-1477.59 5574.29,-1430.67"/>
<path fill="none" stroke="black" d="M5574.29,-1428.67C5541.04,-1358.07 5263.03,-1281.2 5298.29,-1211.59"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge609" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6045.46,-3735.04C6002.59,-3718.2 5938.58,-3691.14 5886.29,-3660.98"/>
<path fill="none" stroke="black" d="M5886.29,-3658.98C5712.34,-3558.68 5652.17,-3550.1 5511.29,-3407.03 5408.26,-3302.39 5425.76,-3242.38 5331.29,-3129.97 5206.14,-2981.05 4763.13,-2714.21 4690.29,-2533.83"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge610" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5886.29,-3658.98C5650.87,-3483.04 5417.48,-2718.15 5412.29,-2424.3"/>
<path fill="none" stroke="black" d="M5412.29,-2422.3C5392.7,-2267.94 5448.17,-2225.77 5422.29,-2072.34"/>
<path fill="none" stroke="black" d="M5422.29,-2070.34C5416.57,-2049.22 5408.09,-2026.56 5400.24,-2007.5"/>
<polygon fill="#e54c05" stroke="black" points="5403.53,-2006.3 5396.43,-1998.43 5397.08,-2009.01 5403.53,-2006.3"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge611" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6154.7,-3747.95C6550.53,-3715.54 8730.1,-3535.98 8866.29,-3501.01 9303.69,-3388.67 9390.15,-3289.36 9797.29,-3093.97 9891.84,-3048.59 9940.05,-3065.74 10006.29,-2984.43 10055.2,-2924.38 10024.59,-2888.43 10054.29,-2816.9 10104.04,-2697.07 10140.92,-2679.17 10196.29,-2561.83 10221.22,-2508.99 10421.74,-2120.24 10388.29,-2072.34"/>
<path fill="none" stroke="black" d="M10388.29,-2070.34C10373.86,-2057.76 10379,-2046.82 10364.29,-2034.57 10302.5,-1983.17 10251.44,-2023.1 10198.29,-1962.8"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_spawn -->
<g id="edge612" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6156.17,-3753.26C6485.35,-3753.74 8042.26,-3742.54 9284.29,-3501.01 9384.81,-3481.46 10062.77,-3243.51 10163.29,-3223.95 10361.97,-3185.28 10417.14,-3218.12 10617.29,-3187.95 10806.43,-3159.43 10877.04,-3198.41 11037.29,-3093.97 11182.15,-2999.55 11207.01,-2942.6 11268.29,-2780.9 11294.64,-2711.38 11295.45,-2623.25 11293.19,-2573.24"/>
<polygon fill="#e54c05" stroke="black" points="11296.7,-2573.29 11292.68,-2563.48 11289.71,-2573.65 11296.7,-2573.29"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_models_package -->
<g id="edge613" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6123.41,-3728.24C6142.72,-3711.06 6167.11,-3686.7 6183.29,-3660.98"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_models_remote_source -->
<g id="edge614" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6046.19,-3734.48C6036.7,-3731.08 6026.74,-3727.74 6017.29,-3724.97 5940.19,-3702.44 5849.58,-3683.77 5789.98,-3672.52"/>
<polygon fill="#e54c05" stroke="black" points="5790.82,-3669.11 5780.34,-3670.71 5789.53,-3675.99 5790.82,-3669.11"/>
</g>
<!-- ahriman_models_pkgbuild_patch -->
<g id="node140" class="node">
<title>ahriman_models_pkgbuild_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e76022" stroke="black" cx="3199.29" cy="-2955.43" rx="57.05" ry="28.98"/>
<text text-anchor="middle" x="3199.29" y="-2963.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="3199.29" y="-2952.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="3199.29" y="-2941.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">pkgbuild_patch</text>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge615" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3206.16,-2926.17C3214.83,-2885.15 3226.35,-2807.24 3206.29,-2745.13"/>
<path fill="none" stroke="black" d="M3206.29,-2743.13C3181.95,-2677.16 3115.16,-2720.93 3065.29,-2671.36 3039.19,-2645.43 3057.04,-2619.46 3027.29,-2597.83 2947.87,-2540.07 2877.8,-2632.17 2809.29,-2561.83 2766.23,-2517.62 2790.29,-2486 2790.29,-2424.3 2790.29,-2424.3 2790.29,-2424.3 2790.29,-2179.88 2790.29,-2114.43 2786.22,-2096.92 2766.29,-2034.57 2746.66,-1973.18 2246.8,-1056.26 2256.29,-992.51"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge616" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3247.73,-2939.65C3438.46,-2881.59 4156.3,-2664.55 4752.29,-2503.84 4844.18,-2479.07 4951.69,-2452.82 5015.5,-2437.53"/>
<polygon fill="#e76022" stroke="black" points="5016.12,-2440.98 5025.03,-2435.25 5014.49,-2434.17 5016.12,-2440.98"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_database_operations_patch_operations -->
<g id="edge617" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_database_operations_patch_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3206.29,-2743.13C3186.08,-2681.22 3180.15,-2644.78 3225.29,-2597.83 3342.16,-2476.25 3535.66,-2690.01 3599.29,-2533.83"/>
<path fill="none" stroke="black" d="M3599.29,-2531.83C3606.45,-2514.17 3604.04,-2494.09 3598.38,-2476.09"/>
<polygon fill="#e76022" stroke="black" points="3601.77,-2475.17 3595.12,-2466.92 3595.17,-2477.51 3601.77,-2475.17"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge618" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3150.24,-2940.2C3070.88,-2914.59 2914.83,-2853.11 2831.29,-2745.13"/>
</g>
<!-- ahriman_models_property -->
<g id="node141" class="node">
<title>ahriman_models_property</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f95a10" stroke="black" cx="2727.29" cy="-2955.43" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="2727.29" y="-2963.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="2727.29" y="-2952.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="2727.29" y="-2941.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">property</text>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge619" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2765.14,-2949.69C2814.88,-2941.05 2898.9,-2917.4 2924.29,-2854.67"/>
<path fill="none" stroke="black" d="M2924.29,-2852.67C2947.07,-2796.39 2959.97,-2727.31 2966.54,-2682.41"/>
<polygon fill="#f95a10" stroke="black" points="2969.97,-2683.15 2967.9,-2672.76 2963.04,-2682.18 2969.97,-2683.15"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_configuration_printer -->
<g id="edge620" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_configuration_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2547.29,-2743.13C2485.08,-2664.43 2428.52,-2702.9 2333.29,-2671.36 2326.84,-2669.23 2320.19,-2666.79 2313.6,-2664.22"/>
<polygon fill="#f95a10" stroke="black" points="2315.32,-2661.14 2304.74,-2660.64 2312.71,-2667.63 2315.32,-2661.14"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge621" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2764.51,-2947.06C2807.79,-2937.61 2880.65,-2918.96 2938.29,-2890.44 3063.01,-2828.73 3078.75,-2787.83 3192.29,-2707.36 3209.99,-2694.82 3229.5,-2681.17 3246.74,-2669.19"/>
<polygon fill="#f95a10" stroke="black" points="3248.6,-2672.16 3254.81,-2663.58 3244.6,-2666.41 3248.6,-2672.16"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge622" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2758.32,-2938.03C2785.53,-2921.36 2822.15,-2892.62 2831.29,-2854.67"/>
<path fill="none" stroke="black" d="M2831.29,-2852.67C2842.47,-2806.21 2860.53,-2782.94 2831.29,-2745.13"/>
<path fill="none" stroke="black" d="M2831.29,-2743.13C2819.57,-2727.99 2818.84,-2722.63 2807.29,-2707.36 2799.04,-2696.46 2789.67,-2685.03 2780.8,-2674.57"/>
<polygon fill="#f95a10" stroke="black" points="2783.65,-2672.52 2774.48,-2667.2 2778.33,-2677.07 2783.65,-2672.52"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_printer -->
<g id="edge623" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2547.29,-2743.13C2543.03,-2737.75 2478.38,-2694.74 2432.84,-2664.78"/>
<polygon fill="#f95a10" stroke="black" points="2434.99,-2662 2424.71,-2659.43 2431.14,-2667.85 2434.99,-2662"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_tree_printer -->
<g id="edge624" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2762.39,-2943.21C2798.8,-2929.25 2852.71,-2901.38 2869.29,-2854.67"/>
<path fill="none" stroke="black" d="M2869.29,-2852.67C2885.32,-2807.51 2888.54,-2791.72 2877.29,-2745.13"/>
<path fill="none" stroke="black" d="M2877.29,-2743.13C2872.56,-2723.56 2869.16,-2701.6 2866.81,-2682.64"/>
<polygon fill="#f95a10" stroke="black" points="2870.3,-2682.31 2865.66,-2672.79 2863.35,-2683.13 2870.3,-2682.31"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge625" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2547.29,-2743.13C2533.27,-2725.4 2523.82,-2702.25 2517.64,-2681.98"/>
<polygon fill="#f95a10" stroke="black" points="2521.06,-2681.19 2514.95,-2672.52 2514.32,-2683.1 2521.06,-2681.19"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge626" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2547.29,-2743.13C2526.76,-2717.16 2553.75,-2687 2581.96,-2665.24"/>
<polygon fill="#f95a10" stroke="black" points="2583.92,-2668.14 2589.89,-2659.39 2579.77,-2662.51 2583.92,-2668.14"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_validation_printer -->
<g id="edge627" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_validation_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2696.53,-2937.79C2689.55,-2934.04 2682.17,-2930.09 2675.29,-2926.44 2644.72,-2910.25 2633.44,-2911.88 2606.29,-2890.44 2521.7,-2823.66 2543.3,-2756.32 2447.29,-2707.36 2283.93,-2624.07 2212.8,-2721.02 2036.29,-2671.36 2030.49,-2669.73 2024.61,-2667.64 2018.83,-2665.28"/>
<polygon fill="#f95a10" stroke="black" points="2020.53,-2662.2 2009.96,-2661.4 2017.72,-2668.62 2020.53,-2662.2"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_version_printer -->
<g id="edge628" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_version_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2706.12,-2931.12C2671.78,-2893.02 2602.26,-2814.7 2547.29,-2745.13"/>
<path fill="none" stroke="black" d="M2547.29,-2743.13C2418.34,-2629.5 2331.08,-2723.45 2167.29,-2671.36 2162.46,-2669.83 2157.59,-2667.92 2152.79,-2665.8"/>
<polygon fill="#f95a10" stroke="black" points="2154.36,-2662.67 2143.83,-2661.49 2151.33,-2668.98 2154.36,-2662.67"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge629" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5673.5,-3647.6C5567.41,-3620.89 5335.29,-3543.64 5335.29,-3379.03 5335.29,-3379.03 5335.29,-3379.03 5335.29,-3267.5 5335.29,-3077.17 5219.53,-3059.59 5132.29,-2890.44 5112.03,-2851.17 4946.38,-2576.9 4956.29,-2533.83"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge630" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5777.04,-3647.11C5805.07,-3641.19 5840.4,-3634.55 5872.29,-3630.99 6334.57,-3579.33 6453.48,-3613.12 6918.29,-3594.99 7876.69,-3557.61 8121.97,-3615.16 9074.29,-3501.01 9490.26,-3451.15 9979.48,-3335.83 10167.37,-3289.4"/>
<polygon fill="#b84109" stroke="black" points="10168.17,-3292.81 10177.03,-3287 10166.48,-3286.01 10168.17,-3292.81"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge631" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5669.7,-3652.57C5522.8,-3632.49 5122.27,-3556.85 4927.29,-3313.04 4701.21,-3030.35 4754.63,-2890.05 4690.29,-2533.83"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge632" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5701.25,-3633.25C5673.79,-3603.07 5628.5,-3550.8 5596.29,-3501.01 5570.92,-3461.8 5567.68,-3449.95 5549.29,-3407.03 5439.14,-3149.9 5125.81,-2427.16 5260.29,-2181.88"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_models_package -->
<g id="edge633" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5778.34,-3648.77C5806.28,-3643.42 5841.13,-3636.79 5872.29,-3630.99 5980.67,-3610.82 6107.96,-3587.86 6175.85,-3575.67"/>
<polygon fill="#b84109" stroke="black" points="6176.3,-3579.15 6185.53,-3573.94 6175.07,-3572.26 6176.3,-3579.15"/>
</g>
<!-- ahriman_models_report_settings -->
<g id="node143" class="node">
<title>ahriman_models_report_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c26e47" stroke="black" cx="8614.29" cy="-2532.83" rx="57.97" ry="28.98"/>
<text text-anchor="middle" x="8614.29" y="-2541.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="8614.29" y="-2530.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="8614.29" y="-2519.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">report_settings</text>
</g>
<!-- ahriman_models_report_settings&#45;&gt;ahriman_core_report_report -->
<g id="edge634" class="edge">
<title>ahriman_models_report_settings&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8613.54,-2503.75C8613.74,-2481.64 8615.8,-2450.32 8624.29,-2424.3"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge635" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6648.56,-4601.11C7040.14,-4598.51 9137.4,-4582.61 9778.29,-4537.52 10257.92,-4503.78 10373.54,-4452.12 10852.29,-4407.54 11096.64,-4384.79 11167.28,-4438.81 11403.29,-4371.54 11555.4,-4328.18 11576.6,-4276.32 11717.29,-4204.02 11801.08,-4160.95 11820.17,-4145.89 11907.29,-4110.04 11908.6,-4109.5 13452.04,-3595.67 13453.29,-3594.99 13686,-3468.76 13696.01,-3366.2 13919.29,-3223.95 14028.58,-3154.32 14073.36,-3167.17 14180.29,-3093.97 14271.55,-3031.49 14282.19,-3000.55 14364.29,-2926.44 14504.29,-2800.07 14648.95,-2822.62 14673.29,-2635.6"/>
<path fill="none" stroke="black" d="M14673.29,-2633.6C14665.45,-2537.62 14720.3,-2520.17 14729.29,-2424.3"/>
<path fill="none" stroke="black" d="M14729.29,-2422.3C14731.94,-2367.63 14750.58,-2350.78 14732.29,-2299.2"/>
<path fill="none" stroke="black" d="M14732.29,-2297.2C14724.32,-2274.74 14716.88,-2249.32 14711.09,-2228.07"/>
<polygon fill="#e54c05" stroke="black" points="14714.5,-2227.27 14708.53,-2218.52 14707.74,-2229.09 14714.5,-2227.27"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge636" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6611.29,-4435.53C6598.41,-4391.44 6647.43,-4380.78 6638.29,-4335.77"/>
<path fill="none" stroke="black" d="M6638.29,-4333.77C6589.54,-4093.78 6391.27,-4213.84 6142.29,-4002.04 5941.4,-3831.14 5857.17,-3762.69 5824.29,-3501.01 5774.2,-3102.43 5867.01,-2999.47 5859.29,-2597.83 5857.42,-2500.45 5843.06,-2475.49 5854.29,-2378.75 5872.41,-2222.65 5875.18,-2179.77 5935.29,-2034.57 5990.69,-1900.75 6082.29,-1888.56 6082.29,-1743.73 6082.29,-1743.73 6082.29,-1743.73 6082.29,-1209.59 6082.29,-1107.37 6141.3,-1093.31 6158.29,-992.51"/>
<path fill="none" stroke="black" d="M6158.29,-990.51C6170.57,-864.16 6138.44,-824.55 6066.29,-720.1 6055.03,-703.81 6039.09,-689.19 6023.92,-677.46"/>
<polygon fill="#e54c05" stroke="black" points="6026.44,-674.97 6016.33,-671.8 6022.26,-680.59 6026.44,-674.97"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge637" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6531.44,-4587.09C6409.37,-4554.45 6102.14,-4472.72 5844.29,-4407.54 5659.9,-4360.93 4361.63,-4062.44 4181.29,-4002.04 4048.19,-3957.45 4018.03,-3937.26 3891.29,-3876.94 3728.31,-3799.37 3688.34,-3777.93 3531.29,-3688.97 3279.6,-3546.41 3237.91,-3472.44 2976.29,-3349.04 2625.39,-3183.54 2512.65,-3201.29 2131.29,-3129.97 2042.08,-3113.28 2017.66,-3118.51 1930.29,-3093.97 1800.84,-3057.6 1769.99,-3041.58 1648.29,-2984.43 1532.32,-2929.97 1236.51,-2754.69 1189.29,-2635.6"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge638" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9346.29,-4435.53C9383.24,-4353.94 9346.29,-4323.57 9346.29,-4234.01 9346.29,-4234.01 9346.29,-4234.01 9346.29,-3471.02 9346.29,-3242.31 9346.29,-3185.14 9346.29,-2956.43 9346.29,-2956.43 9346.29,-2956.43 9346.29,-2852.67 9346.29,-2787.22 9345.7,-2768.03 9370.29,-2707.36 9392.55,-2652.45 9407.69,-2642.78 9446.29,-2597.83 9461.44,-2580.18 9470.43,-2580.51 9484.29,-2561.83 9492.57,-2550.65 9500.61,-2547.55 9498.29,-2533.83"/>
<path fill="none" stroke="black" d="M9498.29,-2531.83C9485.85,-2476.66 9434.58,-2500.34 9388.29,-2467.84 9383.04,-2464.16 9377.67,-2460.07 9372.47,-2455.92"/>
<polygon fill="#e54c05" stroke="black" points="9375.06,-2453.51 9365.1,-2449.89 9370.62,-2458.93 9375.06,-2453.51"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge639" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6611.29,-4435.53C6538.89,-4182.21 6323.71,-4273.5 6082.29,-4168.02 5474.55,-3902.5 5119.48,-3923.08 4859.29,-3313.04 4848.42,-3287.58 4868.31,-2620.15 4942.29,-2503.84 4959.94,-2476.09 4991.12,-2456.47 5018.4,-2443.66"/>
<polygon fill="#e54c05" stroke="black" points="5019.55,-2446.98 5027.25,-2439.7 5016.69,-2440.59 5019.55,-2446.98"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge640" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6648.07,-4599.28C7056.12,-4584.62 9316.12,-4500.57 9346.29,-4437.53"/>
<path fill="none" stroke="black" d="M9346.29,-4435.53C9381.96,-4370.87 9194.29,-4213.87 9194.29,-4140.03 9194.29,-4140.03 9194.29,-4140.03 9194.29,-4055.04 9194.29,-3944.19 9232.29,-3169.04 9232.29,-3058.2 9232.29,-3058.2 9232.29,-3058.2 9232.29,-2954.43 9232.29,-2790.41 9217.47,-2740.91 9137.29,-2597.83 8983.79,-2323.91 8685.05,-2079.26 8574.63,-1994.45"/>
<polygon fill="#e54c05" stroke="black" points="8577.05,-1991.89 8566.98,-1988.6 8572.8,-1997.45 8577.05,-1991.89"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_configuration_configuration -->
<g id="edge641" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6586.63,-4573.41C6589.08,-4555.37 6595.41,-4533.06 6611.29,-4520.52"/>
<path fill="none" stroke="black" d="M6611.29,-4518.52C6639.54,-4496.22 6621.18,-4472.14 6611.29,-4437.53"/>
<path fill="none" stroke="black" d="M6611.29,-4435.53C6595.75,-4381.15 6549.81,-4400.61 6501.29,-4371.54 6498.19,-4369.69 6495.01,-4367.77 6491.81,-4365.82"/>
<polygon fill="#e54c05" stroke="black" points="6493.85,-4362.97 6483.49,-4360.75 6490.21,-4368.94 6493.85,-4362.97"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_util -->
<g id="edge642" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6611.29,-4518.52C6706.11,-4443.65 8610.17,-4437.98 8944.42,-4437.56"/>
<polygon fill="#e54c05" stroke="black" points="8944.13,-4441.06 8954.13,-4437.55 8944.12,-4434.06 8944.13,-4441.06"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_models_package -->
<g id="edge643" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6638.29,-4333.77C6621.94,-4249.23 6638.29,-4226.13 6638.29,-4140.03 6638.29,-4140.03 6638.29,-4140.03 6638.29,-3846.95 6638.29,-3805.62 6668.18,-3689.51 6638.29,-3660.98"/>
<path fill="none" stroke="black" d="M6638.29,-3658.98C6585.01,-3610.56 6371.56,-3582.44 6273.73,-3571.86"/>
<polygon fill="#e54c05" stroke="black" points="6274.2,-3568.4 6263.89,-3570.82 6273.47,-3575.36 6274.2,-3568.4"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application -->
<g id="edge644" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6950.29,-2297.2C6874.96,-2020.75 6887.24,-1916.86 6693.29,-1705.96 6401.71,-1388.91 6276.99,-1348.55 5883.29,-1173.82 5657.41,-1073.57 5364.9,-1020.12 5242.79,-1000.91"/>
<polygon fill="#d14505" stroke="black" points="5243.42,-997.46 5233.01,-999.38 5242.35,-1004.38 5243.42,-997.46"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge645" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6798.29,-1960.8C6779.92,-1940.57 6771.74,-1939.06 6748.29,-1925.03 6709.77,-1901.99 5292.85,-1256.15 5298.29,-1211.59"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge646" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6836.29,-2179.88C6773.72,-2104.52 6868.3,-2031.3 6798.29,-1962.8"/>
<path fill="none" stroke="black" d="M6798.29,-1960.8C6712.62,-1863.92 6641.69,-1920.67 6516.29,-1889.03 6279.93,-1829.4 6230.6,-1782.84 5999.29,-1705.96 5823.72,-1647.6 4422.11,-1396.15 4409.29,-1211.59"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge647" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6960.29,-2422.3C6948.22,-2388.95 7129.87,-1714.09 7335.29,-1283.36 7365.14,-1220.75 7697.63,-822.44 7672.29,-757.87"/>
<path fill="none" stroke="black" d="M7672.29,-755.87C7647.42,-701.32 7581.21,-673.45 7532.59,-659.92"/>
<polygon fill="#d14505" stroke="black" points="7533.6,-656.57 7523.04,-657.4 7531.82,-663.34 7533.6,-656.57"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge648" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6836.29,-2179.88C6809.36,-2147.45 6796.06,-2144.21 6774.29,-2108.11 6765.47,-2093.49 6774.74,-2081.42 6760.29,-2072.34"/>
<path fill="none" stroke="black" d="M6760.29,-2070.34C6745.04,-2060.77 6756.47,-2044.25 6741.29,-2034.57 6713.57,-2016.9 5707.55,-1975.8 5443.32,-1965.29"/>
<polygon fill="#d14505" stroke="black" points="5443.68,-1961.8 5433.55,-1964.9 5443.4,-1968.79 5443.68,-1961.8"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge649" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6760.29,-2070.34C6732.25,-2052.73 6752.26,-1946.78 6727.29,-1925.03 6691.97,-1894.27 6353.93,-1893.32 6307.29,-1889.03 6210.79,-1880.17 6100.03,-1869.21 6026.07,-1861.77"/>
<polygon fill="#d14505" stroke="black" points="6026.78,-1858.32 6016.48,-1860.8 6026.08,-1865.29 6026.78,-1858.32"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_console -->
<g id="edge650" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7367.72,-2732.34C7518.65,-2685.94 8101.52,-2502.24 8130.29,-2424.3"/>
<path fill="none" stroke="black" d="M8130.29,-2422.3C8137.97,-2397.39 8144.55,-2369.06 8149.41,-2345.87"/>
<polygon fill="#d14505" stroke="black" points="8152.83,-2346.57 8151.41,-2336.07 8145.98,-2345.17 8152.83,-2346.57"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_email -->
<g id="edge651" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7160.29,-2633.6C7139.12,-2580.57 7461.03,-2288.46 7506.29,-2253.65 7561.08,-2211.5 7594.37,-2229.71 7644.29,-2181.88"/>
<path fill="none" stroke="black" d="M7644.29,-2179.88C7669.88,-2153.48 7700.43,-2125.27 7723.76,-2104.38"/>
<polygon fill="#d14505" stroke="black" points="7726.05,-2107.02 7731.19,-2097.75 7721.39,-2101.8 7726.05,-2107.02"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_html -->
<g id="edge652" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7370.38,-2738.56C7586.99,-2712.47 8654.71,-2582.99 8681.29,-2561.83 8758.87,-2500.06 8766.11,-2212.12 8838.29,-2144.11 8888.36,-2096.94 8968.84,-2080.74 9020.64,-2075.2"/>
<polygon fill="#d14505" stroke="black" points="9020.75,-2078.71 9030.36,-2074.26 9020.07,-2071.74 9020.75,-2078.71"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge653" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7370.78,-2742.21C7569.98,-2737.28 8479.04,-2712.65 8597.29,-2671.36 8871.31,-2575.68 8833.42,-2370.09 9099.29,-2253.65 9246.98,-2188.97 9305.86,-2264.04 9460.29,-2217.65 9466.2,-2215.88 9472.19,-2213.58 9478.04,-2211"/>
<polygon fill="#d14505" stroke="black" points="9479.47,-2214.19 9487.01,-2206.75 9476.48,-2207.87 9479.47,-2214.19"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_report -->
<g id="edge654" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7361.32,-2724.55C7405.43,-2696.46 7492.15,-2641.8 7567.29,-2597.83 7670.3,-2537.54 7702.62,-2533.51 7802.29,-2467.84 7931.95,-2382.41 7934.29,-2311.73 8078.29,-2253.65 8217.57,-2197.48 8273.45,-2269.81 8414.29,-2217.65 8418.92,-2215.94 8423.54,-2213.72 8427.99,-2211.22"/>
<polygon fill="#d14505" stroke="black" points="8429.47,-2214.42 8436.16,-2206.2 8425.81,-2208.45 8429.47,-2214.42"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge655" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6960.29,-2422.3C6940.3,-2371.17 6964.72,-2352.16 6950.29,-2299.2"/>
<path fill="none" stroke="black" d="M6950.29,-2297.2C6936.25,-2245.69 6895.45,-2257.82 6860.29,-2217.65 6847.68,-2203.25 6848.52,-2196.61 6836.29,-2181.88"/>
<path fill="none" stroke="black" d="M6836.29,-2179.88C6824.06,-2165.15 6826.44,-2157.01 6812.29,-2144.11 6811.84,-2143.71 6767.92,-2119.85 6730.86,-2099.75"/>
<polygon fill="#d14505" stroke="black" points="6732.92,-2096.89 6722.46,-2095.2 6729.58,-2103.04 6732.92,-2096.89"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_telegram -->
<g id="edge656" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7371,-2742.7C7531.93,-2740.57 8163.75,-2728.77 8679.29,-2671.36 9215.17,-2611.69 9430.33,-2772.39 9875.29,-2467.84 9905.84,-2446.93 10067.89,-2211.95 10046.29,-2181.88"/>
<path fill="none" stroke="black" d="M10046.29,-2179.88C9988.16,-2112.74 9714.04,-2084.66 9600.12,-2075.75"/>
<polygon fill="#d14505" stroke="black" points="9600.72,-2072.29 9590.48,-2075.02 9600.18,-2079.27 9600.72,-2072.29"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_repository_executor -->
<g id="edge657" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7160.29,-2633.6C7010.81,-2412.35 7787.89,-1902.6 8040.29,-1815.5 8210.09,-1756.9 8769.97,-1746.12 8948.83,-1744.16"/>
<polygon fill="#d14505" stroke="black" points="8948.82,-1747.66 8958.79,-1744.05 8948.75,-1740.66 8948.82,-1747.66"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge658" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7299.36,-2728.77C7283.68,-2722.06 7264.6,-2714.09 7247.29,-2707.36 7202.86,-2690.12 7190.88,-2688.17 7146.29,-2671.36 7106.01,-2656.19 7096.06,-2652.06 7056.29,-2635.6"/>
<path fill="none" stroke="black" d="M7056.29,-2633.6C6865.76,-2554.73 6338.6,-2533.98 6143.29,-2467.84 6128.77,-2462.93 6113.65,-2455.88 6100.27,-2448.89"/>
<polygon fill="#d14505" stroke="black" points="6102.2,-2445.96 6091.73,-2444.3 6098.89,-2452.12 6102.2,-2445.96"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge659" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7056.29,-2633.6C6937.86,-2580.11 6919.52,-2538.53 6794.29,-2503.84 6602.64,-2450.76 6543.65,-2505.02 6348.29,-2467.84 6319.62,-2462.39 6288.55,-2453.32 6262.72,-2444.87"/>
<polygon fill="#d14505" stroke="black" points="6264.02,-2441.62 6253.43,-2441.78 6261.81,-2448.26 6264.02,-2441.62"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge660" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7305.52,-2722.94C7297.63,-2717.48 7288.82,-2711.85 7280.29,-2707.36 7240.69,-2686.54 7221.79,-2698.58 7186.29,-2671.36 7170.69,-2659.41 7171.26,-2651.9 7160.29,-2635.6"/>
<path fill="none" stroke="black" d="M7160.29,-2633.6C7131.71,-2591.16 7106.7,-2597.76 7070.29,-2561.83 7031.85,-2523.9 7026.71,-2510.25 6993.29,-2467.84 6978.26,-2448.77 6969.13,-2446.91 6960.29,-2424.3"/>
<path fill="none" stroke="black" d="M6960.29,-2422.3C6928.37,-2339.97 6923.14,-2310.15 6855.29,-2253.65 6735.25,-2153.71 6553.51,-2104.32 6458.03,-2084.06"/>
<polygon fill="#d14505" stroke="black" points="6458.81,-2080.64 6448.3,-2082.04 6457.38,-2087.5 6458.81,-2080.64"/>
</g>
<!-- ahriman_models_sign_settings -->
<g id="node146" class="node">
<title>ahriman_models_sign_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db652f" stroke="black" cx="9730.29" cy="-2744.13" rx="52.15" ry="28.98"/>
<text text-anchor="middle" x="9730.29" y="-2752.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="9730.29" y="-2741.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="9730.29" y="-2730.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">sign_settings</text>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_application_ahriman -->
<g id="edge661" class="edge">
<title>ahriman_models_sign_settings&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9782.59,-2741.9C9996.38,-2736.9 10824.81,-2717.88 11506.29,-2707.36 11552.9,-2706.65 14823.84,-2697.73 14862.29,-2671.36 15095.08,-2511.73 15073.29,-2354.61 15073.29,-2072.34 15073.29,-2072.34 15073.29,-2072.34 15073.29,-1530.43 15073.29,-1333.41 15187.29,-1299.06 15187.29,-1102.05 15187.29,-1102.05 15187.29,-1102.05 15187.29,-873.19 15187.29,-767.7 15245.76,-752.36 15263.29,-648.34"/>
<path fill="none" stroke="black" d="M15263.29,-646.34C15267.48,-602.2 15256.24,-590.35 15263.29,-546.57"/>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge662" class="edge">
<title>ahriman_models_sign_settings&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9878.29,-2531.83C9871.83,-2502.3 9845.08,-2513.06 9816.29,-2503.84 9737.75,-2478.71 9700.86,-2516.5 9634.29,-2467.84 9616.45,-2454.8 9623.01,-2442.36 9610.29,-2424.3"/>
<path fill="none" stroke="black" d="M9610.29,-2422.3C9578.79,-2377.56 9634.21,-2348.4 9610.29,-2299.2"/>
<path fill="none" stroke="black" d="M9610.29,-2297.2C9597.28,-2270.45 9578.24,-2243.21 9561.77,-2221.92"/>
<polygon fill="#db652f" stroke="black" points="9564.53,-2219.77 9555.6,-2214.07 9559.03,-2224.1 9564.53,-2219.77"/>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge663" class="edge">
<title>ahriman_models_sign_settings&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9737.68,-2714.98C9747.08,-2683.53 9765.84,-2632.48 9796.29,-2597.83 9826.8,-2563.1 9887.83,-2579.07 9878.29,-2533.83"/>
<path fill="none" stroke="black" d="M9878.29,-2531.83C9871.83,-2502.3 9845.23,-2512.58 9816.29,-2503.84 9721.44,-2475.21 9686.36,-2509.12 9596.29,-2467.84 9590.32,-2465.11 9584.49,-2461.5 9579.01,-2457.53"/>
<polygon fill="#db652f" stroke="black" points="9581.39,-2454.95 9571.37,-2451.53 9577.07,-2460.46 9581.39,-2454.95"/>
</g>
<!-- ahriman_models_smtp_ssl_settings -->
<g id="node147" class="node">
<title>ahriman_models_smtp_ssl_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c26e47" stroke="black" cx="7692.29" cy="-2423.3" rx="67.76" ry="28.98"/>
<text text-anchor="middle" x="7692.29" y="-2431.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="7692.29" y="-2420.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="7692.29" y="-2409.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">smtp_ssl_settings</text>
</g>
<!-- ahriman_models_smtp_ssl_settings&#45;&gt;ahriman_core_report_email -->
<g id="edge664" class="edge">
<title>ahriman_models_smtp_ssl_settings&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7677.33,-2394.95C7665.1,-2370.66 7649.07,-2333.74 7644.29,-2299.2"/>
</g>
<!-- ahriman_models_upload_settings -->
<g id="node148" class="node">
<title>ahriman_models_upload_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c26e47" stroke="black" cx="7030.29" cy="-2744.13" rx="60.21" ry="28.98"/>
<text text-anchor="middle" x="7030.29" y="-2752.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="7030.29" y="-2741.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="7030.29" y="-2730.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">upload_settings</text>
</g>
<!-- ahriman_models_upload_settings&#45;&gt;ahriman_core_upload_upload -->
<g id="edge665" class="edge">
<title>ahriman_models_upload_settings&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7005.69,-2717.29C6993.39,-2703.96 6978.56,-2687.2 6966.29,-2671.36 6954.56,-2656.24 6955.75,-2649.2 6942.29,-2635.6"/>
</g>
<!-- ahriman_models_user -->
<g id="node149" class="node">
<title>ahriman_models_user</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b84109" stroke="black" cx="12944.29" cy="-2955.43" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="12944.29" y="-2963.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12944.29" y="-2952.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="12944.29" y="-2941.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user</text>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_application_handlers_users -->
<g id="edge666" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12970.86,-2934.39C13013.66,-2903.29 13101.65,-2844.16 13186.29,-2816.9 13622.8,-2676.32 13755.19,-2744.4 14212.29,-2707.36 14284.38,-2701.52 14809.77,-2721.1 14862.29,-2671.36 14922.7,-2614.15 14890.17,-2381.36 14903.29,-2299.2"/>
<path fill="none" stroke="black" d="M14903.29,-2297.2C14902.06,-2245.96 14938.34,-2219.27 14903.29,-2181.88"/>
<path fill="none" stroke="black" d="M14903.29,-2179.88C14826.69,-2098.17 14755.12,-2072.98 14775.29,-1962.8"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge667" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12952.16,-2926.95C12957.85,-2906.94 12965.68,-2879.16 12972.29,-2854.67"/>
<path fill="none" stroke="black" d="M12972.29,-2852.67C12980.38,-2822.71 13061.75,-2327.17 13048.29,-2299.2"/>
<path fill="none" stroke="black" d="M13048.29,-2297.2C13024.76,-2247.7 13030.49,-2089.46 13035.12,-2009.7"/>
<polygon fill="#b84109" stroke="black" points="13038.6,-2010.23 13035.7,-2000.03 13031.61,-2009.81 13038.6,-2010.23"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge668" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12972.29,-2852.67C13004.62,-2748.61 13057.79,-2740.78 13086.29,-2635.6"/>
<path fill="none" stroke="black" d="M13086.29,-2633.6C13103.66,-2578.2 13130.43,-2517.39 13150.08,-2475.66"/>
<polygon fill="#b84109" stroke="black" points="13153.14,-2477.38 13154.27,-2466.84 13146.82,-2474.38 13153.14,-2477.38"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge669" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12905.51,-2954.17C12641,-2952.27 11099.05,-2939.2 10632.29,-2890.44 10451.2,-2871.53 10410.53,-2834.19 10229.29,-2816.9 9817.91,-2777.67 6923.45,-2788.82 6510.29,-2780.9 6404.01,-2778.87 2787,-2702.22 2685.29,-2671.36 2680.82,-2670.01 2676.36,-2668.21 2672.02,-2666.13"/>
<polygon fill="#b84109" stroke="black" points="2673.94,-2663.19 2663.47,-2661.58 2670.65,-2669.37 2673.94,-2663.19"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_status_web_client -->
<g id="edge670" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12906.14,-2950.58C12779.44,-2937.07 12362,-2886.82 12033.29,-2780.9 11958.31,-2756.74 11470.19,-2522.56 11314.16,-2447.39"/>
<polygon fill="#b84109" stroke="black" points="11315.83,-2444.31 11305.3,-2443.13 11312.79,-2450.62 11315.83,-2444.31"/>
</g>
<!-- ahriman_models_user_access -->
<g id="node150" class="node">
<title>ahriman_models_user_access</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f95a10" stroke="black" cx="13023.29" cy="-3057.2" rx="50.82" ry="28.98"/>
<text text-anchor="middle" x="13023.29" y="-3065.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="13023.29" y="-3054.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="13023.29" y="-3043.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">user_access</text>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_application_ahriman -->
<g id="edge671" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13208.29,-2954.43C13255.85,-2929.35 15081.33,-2705 15123.29,-2671.36 15162.57,-2639.88 15261.29,-2449.71 15261.29,-2299.2 15261.29,-2299.2 15261.29,-2299.2 15261.29,-2070.34 15261.29,-1903.42 15286.11,-1859.2 15352.29,-1705.96 15387.49,-1624.44 15428.4,-1618.22 15451.29,-1532.43"/>
<path fill="none" stroke="black" d="M15451.29,-1530.43C15497.26,-1132.23 15225.38,-1047.38 15263.29,-648.34"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_auth_auth -->
<g id="edge672" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13048.29,-2852.67C13039.86,-2802.69 13082.18,-2795.66 13086.29,-2745.13"/>
<path fill="none" stroke="black" d="M13086.29,-2743.13C13088.92,-2710.74 13075.41,-2703.71 13072.29,-2671.36 13061.71,-2561.89 13075.88,-2533.79 13086.29,-2424.3"/>
<path fill="none" stroke="black" d="M13086.29,-2422.3C13092.76,-2380.56 13048.87,-2382.39 13034.29,-2342.75 12958.58,-2136.94 12929.23,-2068.28 12972.29,-1853.27"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge673" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13052.46,-3032.97C13075.55,-3013.8 13107.87,-2985.17 13132.29,-2956.43"/>
<path fill="none" stroke="black" d="M13132.29,-2954.43C13192.57,-2883.5 13108.82,-2836.93 13124.29,-2745.13"/>
<path fill="none" stroke="black" d="M13124.29,-2743.13C13134.64,-2628.34 13172.91,-2607.03 13224.29,-2503.84 13241.93,-2468.42 13264.25,-2463.87 13264.29,-2424.3"/>
<path fill="none" stroke="black" d="M13264.29,-2422.3C13261.39,-2401.38 13261.71,-2392.02 13245.29,-2378.75 13182.5,-2328.03 13130.07,-2393.47 13067.29,-2342.75 13050.86,-2329.48 13058.7,-2317.57 13048.29,-2299.2"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge674" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13086.29,-2743.13C13090.16,-2695.5 13071.99,-2681.2 13086.29,-2635.6"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_models_user -->
<g id="edge675" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_models_user</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13002.74,-3030.24C12992.93,-3017.86 12981.08,-3002.9 12970.62,-2989.69"/>
<polygon fill="#f95a10" stroke="black" points="12973.54,-2987.74 12964.59,-2982.07 12968.05,-2992.08 12973.54,-2987.74"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge676" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13059.15,-3036.13C13096.2,-3015.56 13155.86,-2982.94 13208.29,-2956.43"/>
<path fill="none" stroke="black" d="M13208.29,-2954.43C13222.91,-2947.04 13220.24,-2937.55 13232.29,-2926.44 13556.89,-2627.07 13715.93,-2646.65 14036.29,-2342.75 14133.64,-2250.4 14161.1,-2225.4 14226.29,-2108.11 14282.92,-2006.22 14288.29,-1969.83 14288.29,-1853.27 14288.29,-1853.27 14288.29,-1853.27 14288.29,-1741.73 14288.29,-1590.84 14390.72,-1577.77 14424.29,-1430.67"/>
<path fill="none" stroke="black" d="M14424.29,-1428.67C14434.76,-1332.76 14405.5,-1306.22 14424.29,-1211.59"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_base -->
<g id="edge677" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13048.29,-2954.43C13040.83,-2910.73 13055.66,-2898.4 13048.29,-2854.67"/>
<path fill="none" stroke="black" d="M13048.29,-2852.67C13041.74,-2813.83 13011.6,-2817.2 12996.29,-2780.9 12947.7,-2665.76 12971.55,-2626.63 12948.29,-2503.84 12905.6,-2278.58 12867.52,-2226.67 12844.29,-1998.57 12840.98,-1966.06 12843.91,-1957.72 12844.29,-1925.03 12845.07,-1857.92 12899.6,-1374.02 12858.29,-1321.13"/>
<path fill="none" stroke="black" d="M12858.29,-1319.13C12846.24,-1304.25 12845.5,-1298.87 12834.29,-1283.36 12822.41,-1266.93 12818.16,-1263.78 12806.29,-1247.36 12795.07,-1231.84 12783.93,-1230.66 12782.29,-1211.59"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_index -->
<g id="edge678" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13086.29,-2422.3C13089.84,-2401.48 13090.24,-2393.57 13105.29,-2378.75 13134.81,-2349.67 13168.33,-2377.24 13191.29,-2342.75 13213.23,-2309.78 13193.54,-2293.19 13191.29,-2253.65 13188.2,-2199.48 13112.69,-1326.88 13080.29,-1283.36 13056.03,-1250.78 13018.65,-1281.27 12996.29,-1247.36 12978.3,-1220.07 12995.03,-1206.48 12996.29,-1173.82 12999.4,-1093.06 13018.77,-1072.88 13010.29,-992.51"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_add -->
<g id="edge679" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12983.11,-3039.06C12956.76,-3026.51 12922.62,-3007.65 12897.29,-2984.43 12691.56,-2795.85 12689.77,-2703.52 12540.29,-2467.84 12398.02,-2243.55 11946.29,-1696.27 11946.29,-1430.67 11946.29,-1430.67 11946.29,-1430.67 11946.29,-1100.05 11946.29,-1034.59 11923.45,-1000.47 11970.29,-954.74 12052.5,-874.47 12122.51,-968.04 12226.29,-918.74 12229.86,-917.04 12233.35,-914.97 12236.71,-912.67"/>
<polygon fill="#f95a10" stroke="black" points="12238.8,-915.48 12244.59,-906.61 12234.53,-909.93 12238.8,-915.48"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge680" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13132.29,-2954.43C13141.63,-2943.85 13139.74,-2938.37 13147.29,-2926.44 13168.49,-2892.93 13177.97,-2887.45 13200.29,-2854.67"/>
<path fill="none" stroke="black" d="M13200.29,-2852.67C13209.9,-2838.56 13207.24,-2832.46 13214.29,-2816.9 13278.93,-2674.2 13272.82,-2621.48 13376.29,-2503.84 13394.85,-2482.74 13413.4,-2491.69 13428.29,-2467.84 13487.84,-2372.43 13457.82,-2329.8 13466.29,-2217.65 13486.94,-1944.09 13266.6,-1262.67 13314.29,-992.51"/>
<path fill="none" stroke="black" d="M13314.29,-990.51C13313.72,-969.96 13316.72,-947.65 13320.56,-928.18"/>
<polygon fill="#f95a10" stroke="black" points="13323.95,-929.06 13322.59,-918.55 13317.1,-927.62 13323.95,-929.06"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge681" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12896.29,-2743.13C12880.99,-2697.85 12911.31,-2680.97 12896.29,-2635.6"/>
<path fill="none" stroke="black" d="M12896.29,-2633.6C12882.67,-2592.46 12856.58,-2596.27 12830.29,-2561.83 12763.43,-2474.26 12758.65,-2443.6 12714.29,-2342.75 12503.19,-1862.8 12385.8,-1760.11 12276.29,-1247.36 12249.04,-1119.78 12199.22,-1038.44 12299.29,-954.74 12374.28,-892.02 12428.51,-961.78 12516.29,-918.74 12519.84,-917 12523.31,-914.9 12526.66,-912.57"/>
<polygon fill="#f95a10" stroke="black" points="12528.77,-915.37 12534.53,-906.47 12524.48,-909.84 12528.77,-915.37"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge682" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13264.29,-2422.3C13224.95,-2138.07 13230.7,-2065.21 13204.29,-1779.5 13202.55,-1760.68 13148.26,-1119.98 13142.29,-1102.05"/>
<path fill="none" stroke="black" d="M13142.29,-1100.05C13122.64,-1044.64 13120.89,-976.8 13122.8,-930.22"/>
<polygon fill="#f95a10" stroke="black" points="13126.29,-930.53 13123.28,-920.37 13119.29,-930.19 13126.29,-930.53"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_request -->
<g id="edge683" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13124.29,-2743.13C13129.72,-2706.35 13146.64,-2702.29 13167.29,-2671.36 13224.5,-2585.68 13252.83,-2567.68 13278.29,-2467.84 13288.07,-2429.47 13278.97,-2418.34 13278.29,-2378.75 13273.4,-2096.39 13256.29,-2026.13 13256.29,-1743.73 13256.29,-1743.73 13256.29,-1743.73 13256.29,-1632.19 13256.29,-1378.73 13186.98,-1317.15 13204.29,-1064.28 13207.41,-1018.59 13214.74,-967.12 13220.82,-929.43"/>
<polygon fill="#f95a10" stroke="black" points="13224.26,-930.13 13222.42,-919.69 13217.35,-929 13224.26,-930.13"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_search -->
<g id="edge684" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12979.81,-3041.53C12860,-3001.5 12514.53,-2888.53 12221.29,-2816.9 12138.64,-2796.72 12092.94,-2841.56 12033.29,-2780.9 11965.61,-2712.08 11914.02,-2016.87 11884.29,-1925.03 11840.78,-1790.67 11756.29,-1775.42 11756.29,-1634.19 11756.29,-1634.19 11756.29,-1634.19 11756.29,-1209.59 11756.29,-1111.64 11644.44,-1056.85 11718.29,-992.51"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_update -->
<g id="edge685" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12896.29,-2633.6C12884.15,-2600.04 12875.35,-2594.17 12860.29,-2561.83 12636.46,-2081.28 12580.18,-1960.6 12388.29,-1466.43 12332.33,-1322.33 12299.98,-1290.26 12274.29,-1137.82 12268.86,-1105.59 12256.35,-1091.6 12274.29,-1064.28 12363.61,-928.24 12473.99,-1007.66 12610.29,-918.74 12613.55,-916.61 12616.81,-914.24 12619.99,-911.75"/>
<polygon fill="#f95a10" stroke="black" points="12622.12,-914.53 12627.56,-905.44 12617.64,-909.15 12622.12,-914.53"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge686" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13132.29,-2954.43C13162.88,-2919.78 13179.35,-2920.72 13214.29,-2890.44 13391.48,-2736.89 13823.19,-2320.61 13922.29,-2108.11 14080.18,-1769.56 13972.88,-1639.92 14084.29,-1283.36 14126.35,-1148.72 14254.42,-1126.8 14211.29,-992.51"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_package -->
<g id="edge687" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13048.29,-2852.67C13038.74,-2755.19 13010.29,-2733.54 13010.29,-2635.6 13010.29,-2635.6 13010.29,-2635.6 13010.29,-2531.83 13010.29,-2390.71 12984.71,-2357.29 12964.29,-2217.65 12957.17,-2168.97 12953.89,-2156.99 12948.29,-2108.11 12921.47,-1874.33 12865.11,-1137.56 12849.42,-930.06"/>
<polygon fill="#f95a10" stroke="black" points="12852.93,-930.08 12848.69,-920.38 12845.95,-930.61 12852.93,-930.08"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge688" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13036.45,-3028.91C13044.51,-3008.99 13052.52,-2981.25 13048.29,-2956.43"/>
<path fill="none" stroke="black" d="M13048.29,-2954.43C13028.96,-2841.11 12933.08,-2854.05 12896.29,-2745.13"/>
<path fill="none" stroke="black" d="M12896.29,-2743.13C12675.88,-2396.99 12582.87,-2336.65 12350.29,-1998.57 12329.01,-1967.65 11984.29,-1468.2 11984.29,-1430.67 11984.29,-1430.67 11984.29,-1430.67 11984.29,-1319.13 11984.29,-1222.65 11964.69,-1196.52 11984.29,-1102.05"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_status -->
<g id="edge689" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13200.29,-2852.67C13240.02,-2795.46 13269.1,-2798.14 13314.29,-2745.13"/>
<path fill="none" stroke="black" d="M13314.29,-2743.13C13337.06,-2716.43 13604.29,-2216.98 13604.29,-2181.88 13604.29,-2181.88 13604.29,-2181.88 13604.29,-1960.8 13604.29,-1609.73 13596.17,-1519.75 13536.29,-1173.82 13527.79,-1124.71 13527.82,-1111.64 13512.29,-1064.28 13496.07,-1014.83 13471.31,-960.79 13452.86,-923.19"/>
<polygon fill="#f95a10" stroke="black" points="13456.08,-921.81 13448.51,-914.4 13449.81,-924.91 13456.08,-921.81"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_user_login -->
<g id="edge690" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13314.29,-2743.13C13327.23,-2729.03 13324.79,-2720.94 13338.29,-2707.36 13358.37,-2687.17 13371.58,-2691.92 13391.29,-2671.36 13634.79,-2417.46 13692.63,-2330.81 13808.29,-1998.57 13912.94,-1697.95 13866.95,-1601.01 13846.29,-1283.36 13844.17,-1250.83 13833.63,-1013 13808.29,-992.51"/>
<path fill="none" stroke="black" d="M13808.29,-990.51C13736.27,-933.2 13631.99,-900.85 13571.27,-885.79"/>
<polygon fill="#f95a10" stroke="black" points="13572.1,-882.39 13561.56,-883.45 13570.46,-889.2 13572.1,-882.39"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge691" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12896.29,-2633.6C12864.26,-2521.51 12865.96,-2490.93 12834.29,-2378.75 12718.53,-1968.77 12606.42,-1887.28 12540.29,-1466.43 12507.39,-1257.11 12414.96,-1108.51 12592.29,-992.51"/>
</g>
<!-- ahriman_version -->
<g id="node151" class="node">
<title>ahriman_version</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f35c16" stroke="black" cx="14815.29" cy="-2634.6" rx="38.37" ry="21.43"/>
<text text-anchor="middle" x="14815.29" y="-2637.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="14815.29" y="-2626.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">version</text>
</g>
<!-- ahriman_version&#45;&gt;ahriman_application_ahriman -->
<g id="edge692" class="edge">
<title>ahriman_version&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14805.29,-2531.83C14826.02,-2450.33 14986.6,-2296.34 15016.29,-2217.65 15039.27,-2156.71 15035.29,-2137.47 15035.29,-2072.34 15035.29,-2072.34 15035.29,-2072.34 15035.29,-1530.43 15035.29,-1387.72 15073.29,-1354.3 15073.29,-1211.59 15073.29,-1211.59 15073.29,-1211.59 15073.29,-1100.05 15073.29,-925.43 15110.49,-883.03 15173.29,-720.1 15204.54,-639.04 15241.35,-630.64 15263.29,-546.57"/>
<path fill="none" stroke="black" d="M15263.29,-544.57C15287.12,-347.69 15283.8,-226.9 15114.29,-123.97"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge693" class="edge">
<title>ahriman_version&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14777.81,-2629.07C14708.53,-2620.95 14555.67,-2604.16 14426.29,-2597.83 13121.38,-2533.95 9851.48,-2638.88 8547.29,-2561.83 8316.91,-2548.22 8260.93,-2526.68 8031.29,-2503.84 7938.95,-2494.66 7695.87,-2513.84 7615.29,-2467.84 7546.67,-2428.68 7247.52,-1953.81 7202.29,-1889.03 7112.09,-1759.89 7124.59,-1695.69 7002.29,-1596.42 6355.53,-1071.44 6057.08,-1123.21 5241.29,-954.74 4626.86,-827.85 4472.87,-789.13 3849.29,-720.1 3368.87,-666.92 2787.02,-652.8 2583.7,-649.36"/>
<polygon fill="#f35c16" stroke="black" points="2583.86,-645.86 2573.8,-649.2 2583.74,-652.86 2583.86,-645.86"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge694" class="edge">
<title>ahriman_version&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14805.29,-2531.83C14817.63,-2484.33 14857.67,-2499.36 14895.29,-2467.84 14993.93,-2385.2 15099.12,-2275.84 15151.89,-2219.3"/>
<polygon fill="#f35c16" stroke="black" points="15154.31,-2221.84 15158.56,-2212.13 15149.18,-2217.07 15154.31,-2221.84"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_application_lock -->
<g id="edge695" class="edge">
<title>ahriman_version&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14796.62,-2615.75C14759.52,-2580.29 14676.08,-2500.56 14629.44,-2455.98"/>
<polygon fill="#f35c16" stroke="black" points="14631.92,-2453.51 14622.27,-2449.13 14627.09,-2458.57 14631.92,-2453.51"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_web_views_status_status -->
<g id="edge696" class="edge">
<title>ahriman_version&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14809.75,-2613.17C14805.07,-2592.89 14799.91,-2560.98 14805.29,-2533.83"/>
<path fill="none" stroke="black" d="M14805.29,-2531.83C14839.07,-2361.4 14793.58,-2313.59 14755.29,-2144.11 14714.02,-1961.49 14624.29,-1930.96 14624.29,-1743.73 14624.29,-1743.73 14624.29,-1743.73 14624.29,-1428.67 14624.29,-1363.53 14642.02,-1337.14 14605.29,-1283.36 14562.53,-1220.75 14080.04,-976.06 14007.29,-954.74 13893.58,-921.42 13584.08,-965.69 13475.29,-918.74 13471.65,-917.17 13468.12,-915.2 13464.73,-912.96"/>
<polygon fill="#f35c16" stroke="black" points="13466.91,-910.22 13456.81,-907 13462.7,-915.81 13466.91,-910.22"/>
</g>
<!-- ahriman_web -->
<g id="node152" class="node">
<title>ahriman_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f95a10" stroke="black" cx="11977.29" cy="-545.57" rx="41.59" ry="18"/>
<text text-anchor="middle" x="11977.29" y="-543.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.web</text>
</g>
<!-- ahriman_web&#45;&gt;ahriman_application_handlers_web -->
<g id="edge697" class="edge">
<title>ahriman_web&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11999.65,-530.12C12029.56,-509.18 12075.72,-470.15 12047.29,-444.81"/>
<path fill="none" stroke="black" d="M12047.29,-442.81C11854.48,-271.02 11657.51,-519.24 11476.29,-335.27"/>
</g>
<!-- ahriman_web_middlewares -->
<g id="node153" class="node">
<title>ahriman_web_middlewares</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c85723" stroke="black" cx="13704.29" cy="-647.34" rx="50.41" ry="28.98"/>
<text text-anchor="middle" x="13704.29" y="-655.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13704.29" y="-644.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13704.29" y="-633.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares</text>
</g>
<!-- ahriman_web_middlewares&#45;&gt;ahriman_web_web -->
<g id="edge698" class="edge">
<title>ahriman_web_middlewares&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13672.39,-624.53C13662.53,-618.91 13651.34,-613.59 13640.29,-610.57 13324.03,-524.05 12482.22,-658.57 12165.29,-574.57 12160.95,-573.42 12156.58,-571.84 12152.31,-570.02"/>
<polygon fill="#c85723" stroke="black" points="12153.88,-566.9 12143.35,-565.75 12150.87,-573.21 12153.88,-566.9"/>
</g>
<!-- ahriman_web_middlewares_auth_handler&#45;&gt;ahriman_web_web -->
<g id="edge699" class="edge">
<title>ahriman_web_middlewares_auth_handler&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14366.68,-838.13C14361.41,-813.07 14359.46,-780.02 14377.29,-757.87"/>
</g>
<!-- ahriman_web_middlewares_exception_handler -->
<g id="node155" class="node">
<title>ahriman_web_middlewares_exception_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995333" stroke="black" cx="14481.29" cy="-756.87" rx="67.35" ry="36.54"/>
<text text-anchor="middle" x="14481.29" y="-770.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14481.29" y="-759.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14481.29" y="-748.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares.</text>
<text text-anchor="middle" x="14481.29" y="-737.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">exception_handler</text>
</g>
<!-- ahriman_web_middlewares_exception_handler&#45;&gt;ahriman_web_web -->
<g id="edge700" class="edge">
<title>ahriman_web_middlewares_exception_handler&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14492.48,-720.41C14497.48,-696.96 14498.85,-667.18 14481.29,-648.34"/>
</g>
<!-- ahriman_web_routes -->
<g id="node156" class="node">
<title>ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#733e26" stroke="black" cx="12624.29" cy="-647.34" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="12624.29" y="-655.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12624.29" y="-644.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12624.29" y="-633.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">routes</text>
</g>
<!-- ahriman_web_routes&#45;&gt;ahriman_web_web -->
<g id="edge701" class="edge">
<title>ahriman_web_routes&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12585.77,-644.69C12505.55,-640.34 12315.51,-625.09 12165.29,-574.57 12161.14,-573.17 12156.93,-571.46 12152.8,-569.59"/>
<polygon fill="#733e26" stroke="black" points="12154.63,-566.59 12144.11,-565.32 12151.55,-572.87 12154.63,-566.59"/>
</g>
<!-- ahriman_web_views -->
<g id="node157" class="node">
<title>ahriman_web_views</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f95a10" stroke="black" cx="12591.29" cy="-756.87" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="12591.29" y="-765.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="12591.29" y="-754.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">web.</text>
<text text-anchor="middle" x="12591.29" y="-743.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">views</text>
</g>
<!-- ahriman_web_views&#45;&gt;ahriman_web_routes -->
<g id="edge702" class="edge">
<title>ahriman_web_views&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12599.79,-728.18C12603.67,-715.51 12608.34,-700.29 12612.56,-686.56"/>
<polygon fill="#f95a10" stroke="black" points="12615.79,-687.97 12615.37,-677.38 12609.09,-685.92 12615.79,-687.97"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_index -->
<g id="edge703" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12789.22,-975.52C12818.04,-962.42 12859.39,-941.9 12892.29,-918.74 12896.44,-915.81 12900.61,-912.55 12904.65,-909.15"/>
<polygon fill="#953103" stroke="black" points="12906.91,-911.83 12912.12,-902.6 12902.3,-906.57 12906.91,-911.83"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_add -->
<g id="edge704" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12715.49,-991.39C12636.77,-991.64 12454.36,-984.43 12320.29,-918.74 12316.73,-917 12313.26,-914.9 12309.91,-912.58"/>
<polygon fill="#953103" stroke="black" points="12312.09,-909.84 12302.05,-906.48 12307.8,-915.37 12312.09,-909.84"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge705" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12791.14,-979.99C12820.69,-971.93 12863.34,-961.14 12901.29,-954.74 13066.83,-926.82 13121.01,-980.06 13277.29,-918.74 13283.45,-916.32 13289.51,-913.03 13295.25,-909.33"/>
<polygon fill="#953103" stroke="black" points="13297.14,-912.28 13303.32,-903.67 13293.12,-906.55 13297.14,-912.28"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge706" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12719,-976.3C12688.85,-963.38 12644.98,-942.72 12610.29,-918.74 12607.08,-916.52 12603.87,-914.09 12600.71,-911.56"/>
<polygon fill="#953103" stroke="black" points="12603.08,-908.97 12593.19,-905.17 12598.55,-914.31 12603.08,-908.97"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge707" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12791.35,-981.05C12821.01,-973.59 12863.72,-963.08 12901.29,-954.74 12980.51,-937.14 13008.04,-955.7 13080.29,-918.74 13083.81,-916.94 13087.26,-914.79 13090.59,-912.44"/>
<polygon fill="#953103" stroke="black" points="13092.73,-915.22 13098.44,-906.29 13088.41,-909.71 13092.73,-915.22"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_request -->
<g id="edge708" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12791.2,-980.36C12820.79,-972.51 12863.46,-961.81 12901.29,-954.74 13021.59,-932.24 13061.38,-965.95 13174.29,-918.74 13180.04,-916.33 13185.71,-913.18 13191.1,-909.66"/>
<polygon fill="#953103" stroke="black" points="13193.09,-912.54 13199.23,-903.9 13189.04,-906.83 13193.09,-912.54"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_search -->
<g id="edge709" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12715.84,-989.21C12593.05,-984.61 12211.75,-966.7 12099.29,-918.74 12094.4,-916.65 12089.62,-913.95 12085.06,-910.91"/>
<polygon fill="#953103" stroke="black" points="12087.4,-908.29 12077.27,-905.19 12083.26,-913.93 12087.4,-908.29"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_update -->
<g id="edge710" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12730.56,-962.3C12718.63,-948.12 12703.98,-930.7 12690.91,-915.17"/>
<polygon fill="#953103" stroke="black" points="12693.94,-913.32 12684.82,-907.93 12688.58,-917.83 12693.94,-913.32"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge711" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12791.07,-979.55C12820.58,-971.25 12863.22,-960.35 12901.29,-954.74 13195.43,-911.41 13272.65,-938.85 13569.29,-918.74 13747.17,-906.68 13958.11,-888.21 14052.41,-879.73"/>
<polygon fill="#953103" stroke="black" points="14052.7,-883.22 14062.35,-878.83 14052.07,-876.25 14052.7,-883.22"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_package -->
<g id="edge712" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12777.02,-961.71C12787.84,-947.99 12800.98,-931.33 12812.84,-916.31"/>
<polygon fill="#953103" stroke="black" points="12815.25,-918.9 12818.7,-908.88 12809.76,-914.56 12815.25,-918.9"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge713" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12715.7,-988.28C12651.65,-983.29 12520.71,-967.48 12422.29,-918.74 12418.35,-916.79 12414.47,-914.47 12410.7,-911.93"/>
<polygon fill="#953103" stroke="black" points="12412.99,-909.26 12402.86,-906.15 12408.83,-914.9 12412.99,-909.26"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_status -->
<g id="edge714" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12791.1,-979.77C12820.63,-971.59 12863.28,-960.75 12901.29,-954.74 13006.94,-938.04 13283.23,-961.48 13381.29,-918.74 13384.92,-917.16 13388.44,-915.17 13391.83,-912.93"/>
<polygon fill="#953103" stroke="black" points="13393.87,-915.77 13399.75,-906.96 13389.66,-910.19 13393.87,-915.77"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_user_login -->
<g id="edge715" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12791.08,-979.64C12820.6,-971.39 12863.24,-960.51 12901.29,-954.74 13027.65,-935.56 13357.82,-969.09 13475.29,-918.74 13478.93,-917.18 13482.46,-915.21 13485.85,-912.98"/>
<polygon fill="#953103" stroke="black" points="13487.88,-915.83 13493.77,-907.02 13483.68,-910.24 13487.88,-915.83"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge716" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12753.35,-954.65C12753.16,-947.01 12752.94,-938.78 12752.73,-930.6"/>
<polygon fill="#953103" stroke="black" points="12756.23,-930.56 12752.47,-920.66 12749.23,-930.75 12756.23,-930.56"/>
</g>
<!-- ahriman_web_views_index&#45;&gt;ahriman_web_routes -->
<g id="edge717" class="edge">
<title>ahriman_web_views_index&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12914.13,-846.03C12907.49,-840 12900,-834.08 12892.29,-829.64 12797.62,-775.21 12672.37,-866.03 12657.29,-757.87"/>
</g>
<!-- ahriman_web_views_service -->
<g id="node160" class="node">
<title>ahriman_web_views_service</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c26e47" stroke="black" cx="12469.29" cy="-874.19" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="12469.29" y="-888.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="12469.29" y="-877.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">web.</text>
<text text-anchor="middle" x="12469.29" y="-866.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">views.</text>
<text text-anchor="middle" x="12469.29" y="-855.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">service</text>
</g>
<!-- ahriman_web_views_service&#45;&gt;ahriman_web_routes -->
<g id="edge718" class="edge">
<title>ahriman_web_views_service&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12494.42,-845.98C12501.06,-839.95 12508.55,-834.04 12516.29,-829.64 12577.41,-794.88 12667,-827.52 12657.29,-757.87"/>
</g>
<!-- ahriman_web_views_service_add&#45;&gt;ahriman_web_routes -->
<g id="edge719" class="edge">
<title>ahriman_web_views_service_add&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12300.72,-842.55C12306.68,-837.48 12313.31,-832.84 12320.29,-829.64 12449.57,-770.35 12520.7,-873.68 12638.29,-793.64 12653.17,-783.51 12659.77,-775.7 12657.29,-757.87"/>
</g>
<!-- ahriman_web_views_service_pgp&#45;&gt;ahriman_web_routes -->
<g id="edge720" class="edge">
<title>ahriman_web_views_service_pgp&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13362.95,-844.1C13393.03,-812.75 13435.11,-766.22 13428.29,-757.87"/>
</g>
<!-- ahriman_web_views_service_rebuild&#45;&gt;ahriman_web_routes -->
<g id="edge721" class="edge">
<title>ahriman_web_views_service_rebuild&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12593.44,-846.1C12622,-819.02 12660.17,-778.53 12657.29,-757.87"/>
</g>
<!-- ahriman_web_views_service_remove&#45;&gt;ahriman_web_routes -->
<g id="edge722" class="edge">
<title>ahriman_web_views_service_remove&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13099.71,-842.86C13093.76,-837.76 13087.17,-833.04 13080.29,-829.64 12994.76,-787.51 12670.46,-852.3 12657.29,-757.87"/>
</g>
<!-- ahriman_web_views_service_request&#45;&gt;ahriman_web_routes -->
<g id="edge723" class="edge">
<title>ahriman_web_views_service_request&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13261.51,-847.72C13269.69,-841.5 13278.64,-835.08 13287.29,-829.64 13346.8,-792.2 13472.79,-812.31 13428.29,-757.87"/>
<path fill="none" stroke="black" d="M13428.29,-755.87C13380.22,-697.08 12842.37,-661.02 12674.22,-651.12"/>
<polygon fill="#8a4b2e" stroke="black" points="12674.46,-647.63 12664.27,-650.54 12674.05,-654.62 12674.46,-647.63"/>
</g>
<!-- ahriman_web_views_service_search&#45;&gt;ahriman_web_routes -->
<g id="edge724" class="edge">
<title>ahriman_web_views_service_search&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12081.98,-854.22C12097.21,-846.2 12115.43,-837.04 12132.29,-829.64 12292.82,-759.25 12490.22,-692.17 12578.19,-663.25"/>
<polygon fill="#733e26" stroke="black" points="12579.27,-666.58 12587.68,-660.14 12577.09,-659.93 12579.27,-666.58"/>
</g>
<!-- ahriman_web_views_service_update&#45;&gt;ahriman_web_routes -->
<g id="edge725" class="edge">
<title>ahriman_web_views_service_update&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12660.12,-829.46C12660.81,-807.82 12660.56,-781.37 12657.29,-757.87"/>
</g>
<!-- ahriman_web_views_status -->
<g id="node168" class="node">
<title>ahriman_web_views_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c26e47" stroke="black" cx="13033.29" cy="-874.19" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="13033.29" y="-888.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="13033.29" y="-877.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">web.</text>
<text text-anchor="middle" x="13033.29" y="-866.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">views.</text>
<text text-anchor="middle" x="13033.29" y="-855.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">status</text>
</g>
<!-- ahriman_web_views_status&#45;&gt;ahriman_web_routes -->
<g id="edge726" class="edge">
<title>ahriman_web_views_status&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13008.87,-846.03C13002.1,-839.85 12994.37,-833.86 12986.29,-829.64 12853.61,-760.4 12677.96,-906.1 12657.29,-757.87"/>
</g>
<!-- ahriman_web_views_status_logs&#45;&gt;ahriman_web_routes -->
<g id="edge727" class="edge">
<title>ahriman_web_views_status_logs&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14065.07,-862.61C13965.18,-834.65 13682.46,-758.3 13442.29,-720.1 13153.53,-674.18 12802.42,-655.78 12674.2,-650.27"/>
<polygon fill="#733e26" stroke="black" points="12674.5,-646.78 12664.36,-649.86 12674.21,-653.78 12674.5,-646.78"/>
</g>
<!-- ahriman_web_views_status_package&#45;&gt;ahriman_web_routes -->
<g id="edge728" class="edge">
<title>ahriman_web_views_status_package&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12816.51,-844.23C12810.72,-839.07 12804.49,-833.97 12798.29,-829.64 12740.61,-789.42 12667,-827.52 12657.29,-757.87"/>
</g>
<!-- ahriman_web_views_status_packages&#45;&gt;ahriman_web_routes -->
<g id="edge729" class="edge">
<title>ahriman_web_views_status_packages&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12401.51,-842.86C12407.94,-837.76 12415.01,-833.04 12422.29,-829.64 12521.28,-783.53 12672.37,-866.03 12657.29,-757.87"/>
</g>
<!-- ahriman_web_views_status_status&#45;&gt;ahriman_web_routes -->
<g id="edge730" class="edge">
<title>ahriman_web_views_status_status&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13440.26,-831.53C13444.5,-807.45 13444.76,-778.02 13428.29,-757.87"/>
</g>
<!-- ahriman_web_views_user -->
<g id="node173" class="node">
<title>ahriman_web_views_user</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c26e47" stroke="black" cx="12179.29" cy="-874.19" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="12179.29" y="-888.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="12179.29" y="-877.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">web.</text>
<text text-anchor="middle" x="12179.29" y="-866.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">views.</text>
<text text-anchor="middle" x="12179.29" y="-855.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">user</text>
</g>
<!-- ahriman_web_views_user&#45;&gt;ahriman_web_routes -->
<g id="edge731" class="edge">
<title>ahriman_web_views_user&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12203.35,-845.31C12210.13,-839.14 12217.95,-833.34 12226.29,-829.64 12310.31,-792.4 12561.66,-844.38 12638.29,-793.64 12653.3,-783.71 12659.77,-775.7 12657.29,-757.87"/>
<path fill="none" stroke="black" d="M12657.29,-755.87C12653.96,-732.05 12646.2,-706.25 12639.03,-685.9"/>
<polygon fill="#c26e47" stroke="black" points="12642.37,-684.82 12635.67,-676.62 12635.79,-687.21 12642.37,-684.82"/>
</g>
<!-- ahriman_web_views_user_login&#45;&gt;ahriman_web_routes -->
<g id="edge732" class="edge">
<title>ahriman_web_views_user_login&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13496.38,-841.36C13477.51,-818.19 13451.34,-786.07 13428.29,-757.87"/>
</g>
<!-- ahriman_web_views_user_logout&#45;&gt;ahriman_web_routes -->
<g id="edge733" class="edge">
<title>ahriman_web_views_user_logout&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12722,-844.57C12695.47,-817.52 12660.11,-778.15 12657.29,-757.87"/>
</g>
<!-- ahriman_web_web&#45;&gt;ahriman_application_handlers_web -->
<g id="edge734" class="edge">
<title>ahriman_web_web&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12100.67,-518.09C12089.21,-496.22 12070.55,-465.54 12047.29,-444.81"/>
</g>
<!-- aioauthclient -->
<g id="node177" class="node">
<title>aioauthclient</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#b69253" stroke="black" points="13423.79,-2316.2 13420.79,-2320.2 13399.79,-2320.2 13396.79,-2316.2 13352.79,-2316.2 13352.79,-2280.2 13423.79,-2280.2 13423.79,-2316.2"/>
<text text-anchor="middle" x="13388.29" y="-2295.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aioauthclient</text>
</g>
<!-- aioauthclient&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge735" class="edge">
<title>aioauthclient&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13373.22,-2279.96C13355.98,-2258.66 13329.45,-2220.46 13324.29,-2181.88"/>
</g>
<!-- aiohttp -->
<g id="node178" class="node">
<title>aiohttp</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#f9ec06" stroke="black" points="13569.29,-1549.43 13566.29,-1553.43 13545.29,-1553.43 13542.29,-1549.43 13515.29,-1549.43 13515.29,-1513.43 13569.29,-1513.43 13569.29,-1549.43"/>
<text text-anchor="middle" x="13542.29" y="-1528.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp</text>
</g>
<!-- aiohttp&#45;&gt;ahriman_core_log_filtered_access_logger -->
<g id="edge736" class="edge">
<title>aiohttp&#45;&gt;ahriman_core_log_filtered_access_logger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13674.29,-1209.59C13746.02,-1149.79 13826.29,-1076.84 13874.26,-1032.57"/>
<polygon fill="#f9ec06" stroke="black" points="13876.46,-1035.3 13881.43,-1025.94 13871.71,-1030.16 13876.46,-1035.3"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares -->
<g id="edge737" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_middlewares</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13525.29,-1428.67C13504.59,-1393.07 13762.24,-1199.67 13794.29,-1173.82 13883.52,-1101.82 13953.76,-1129.67 14007.29,-1028.28 14086.47,-878.27 13854.39,-729.53 13751.11,-672.6"/>
<polygon fill="#f9ec06" stroke="black" points="13753.03,-669.65 13742.57,-667.94 13749.68,-675.8 13753.03,-669.65"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge738" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13569.65,-1520.1C13600.44,-1508.2 13651.72,-1487.57 13694.29,-1466.43 13722.78,-1452.29 13726.56,-1441.98 13756.29,-1430.67"/>
<path fill="none" stroke="black" d="M13756.29,-1428.67C13774.18,-1421.86 13766.31,-1405.98 13780.29,-1392.9 13945.28,-1238.39 14028.89,-1258.07 14220.29,-1137.82 14317.63,-1076.66 14425.43,-1107.13 14434.29,-992.51"/>
<path fill="none" stroke="black" d="M14434.29,-990.51C14435.12,-963.92 14422.84,-937.1 14409.46,-916.03"/>
<polygon fill="#f9ec06" stroke="black" points="14412.38,-914.1 14403.91,-907.73 14406.56,-917.99 14412.38,-914.1"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares_exception_handler -->
<g id="edge739" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_middlewares_exception_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13569.7,-1522.88C13612.56,-1511.05 13698.01,-1487.34 13770.29,-1466.43 13880.32,-1434.62 13904.83,-1414.63 14017.29,-1392.9 14102.31,-1376.46 14333.39,-1405.16 14405.29,-1356.9 14511.37,-1285.69 14538.29,-1229.81 14538.29,-1102.05 14538.29,-1102.05 14538.29,-1102.05 14538.29,-990.51 14538.29,-924.1 14516.11,-850.02 14499.42,-803.68"/>
<polygon fill="#f9ec06" stroke="black" points="14502.78,-802.68 14496.05,-794.5 14496.21,-805.1 14502.78,-802.68"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_routes -->
<g id="edge740" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13522.29,-1319.13C13506.6,-1237.87 13615.33,-1269.66 13674.29,-1211.59"/>
<path fill="none" stroke="black" d="M13674.29,-1209.59C13736.7,-1148.12 13633.12,-889.63 13569.29,-829.64 13526.54,-789.46 13485.73,-833.07 13442.29,-793.64 13429.65,-782.17 13439.09,-771.09 13428.29,-757.87"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_base -->
<g id="edge741" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13514.92,-1529.44C13415.1,-1524.45 13065.56,-1494.79 12858.29,-1321.13"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_add -->
<g id="edge742" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13514.92,-1527.9C13460.9,-1522.93 13336.72,-1511.56 13232.29,-1502.43 13043,-1485.89 12987.25,-1524.36 12806.29,-1466.43 12745.26,-1446.9 12738.86,-1422.98 12682.29,-1392.9 12649.29,-1375.34 12635.69,-1379.97 12606.29,-1356.9 12525.34,-1293.36 12364.19,-1029.11 12300.3,-921.3"/>
<polygon fill="#f9ec06" stroke="black" points="12303.47,-919.8 12295.37,-912.97 12297.45,-923.36 12303.47,-919.8"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge743" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13522.29,-1319.13C13510.3,-1272.86 13517.35,-1259.13 13522.29,-1211.59"/>
<path fill="none" stroke="black" d="M13522.29,-1209.59C13533.15,-1105.01 13482.8,-1082.41 13428.29,-992.51"/>
<path fill="none" stroke="black" d="M13428.29,-990.51C13413.45,-961.64 13390.52,-933.32 13371.03,-911.97"/>
<polygon fill="#f9ec06" stroke="black" points="13373.6,-909.6 13364.22,-904.67 13368.48,-914.37 13373.6,-909.6"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge744" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12820.29,-1428.67C12742.05,-1386.11 12752.91,-1337.63 12682.29,-1283.36 12655.79,-1263 12636.51,-1273.95 12616.29,-1247.36 12545.22,-1153.89 12547.87,-1008 12555.72,-929.52"/>
<polygon fill="#f9ec06" stroke="black" points="12559.16,-930.27 12556.74,-919.95 12552.19,-929.52 12559.16,-930.27"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge745" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13522.29,-1319.13C13507.6,-1262.47 13485.81,-1254.75 13446.29,-1211.59"/>
<path fill="none" stroke="black" d="M13446.29,-1209.59C13410.31,-1170.3 13389.11,-1174.3 13350.29,-1137.82 13274.89,-1066.95 13199.56,-971.94 13158.64,-917.77"/>
<polygon fill="#f9ec06" stroke="black" points="13161.6,-915.89 13152.8,-910 13156.01,-920.1 13161.6,-915.89"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_request -->
<g id="edge746" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13446.29,-1209.59C13360.13,-1108.53 13365.03,-1064.51 13290.29,-954.74 13281.68,-942.09 13271.85,-928.69 13262.68,-916.56"/>
<polygon fill="#f9ec06" stroke="black" points="13265.59,-914.6 13256.75,-908.77 13260.02,-918.85 13265.59,-914.6"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_search -->
<g id="edge747" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13514.94,-1527.73C13460.94,-1522.45 13336.81,-1510.57 13232.29,-1502.43 13110.17,-1492.93 12797.29,-1508.58 12682.29,-1466.43 12389.61,-1359.18 12155.19,-1039 12076.07,-920.21"/>
<polygon fill="#f9ec06" stroke="black" points="12079.04,-918.35 12070.61,-911.94 12073.2,-922.21 12079.04,-918.35"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_update -->
<g id="edge748" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13515.11,-1527.87C13404.35,-1517.41 12991.71,-1477.82 12966.29,-1466.43 12899.78,-1436.65 12891.72,-1412.22 12844.29,-1356.9 12818.88,-1327.26 12819.68,-1314.6 12796.29,-1283.36 12790.7,-1275.9 12581.52,-1037.02 12578.29,-1028.28 12566.97,-997.62 12565.83,-984.96 12578.29,-954.74 12580.66,-948.99 12600.33,-929.17 12619.46,-910.75"/>
<polygon fill="#f9ec06" stroke="black" points="12621.67,-913.48 12626.47,-904.04 12616.83,-908.43 12621.67,-913.48"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge749" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13554.84,-1513.06C13575.64,-1485.16 13619.6,-1429.75 13666.29,-1392.9 13692.51,-1372.19 13707.81,-1379.64 13732.29,-1356.9 13767.74,-1323.94 13810.99,-1202.07 13850.29,-1173.82 13903.15,-1135.81 13939.31,-1175.67 13992.29,-1137.82 14024.04,-1115.13 14015.28,-1094.25 14040.29,-1064.28 14055.19,-1046.42 14067.46,-1048.87 14078.29,-1028.28 14094.05,-998.29 14100.11,-960.77 14102.2,-930.38"/>
<polygon fill="#f9ec06" stroke="black" points="14105.69,-930.8 14102.74,-920.62 14098.7,-930.41 14105.69,-930.8"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_package -->
<g id="edge750" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13525.29,-1428.67C13501.33,-1387.29 13534.28,-1367.41 13522.29,-1321.13"/>
<path fill="none" stroke="black" d="M13522.29,-1319.13C13495.24,-1214.76 13152.85,-1209.47 13072.29,-1137.82 13063.63,-1130.12 12980.79,-962.61 12972.29,-954.74 12943.68,-928.25 12924.79,-940.27 12892.29,-918.74 12889.04,-916.59 12885.79,-914.2 12882.62,-911.7"/>
<polygon fill="#f9ec06" stroke="black" points="12884.97,-909.1 12875.06,-905.37 12880.48,-914.47 12884.97,-909.1"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge751" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13515.04,-1527.93C13390.12,-1516.46 12878,-1469.32 12870.29,-1466.43 12844.7,-1456.86 12845.22,-1441.83 12820.29,-1430.67"/>
<path fill="none" stroke="black" d="M12820.29,-1428.67C12791.25,-1415.66 12786.03,-1408.46 12758.29,-1392.9 12729.15,-1376.55 12719.45,-1376.36 12692.29,-1356.9 12663.07,-1335.96 12595.38,-1275.71 12573.29,-1247.36 12491.77,-1142.76 12424.84,-1000.8 12392.41,-926.05"/>
<polygon fill="#f9ec06" stroke="black" points="12395.65,-924.71 12388.48,-916.91 12389.22,-927.48 12395.65,-924.71"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_status -->
<g id="edge752" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13428.29,-990.51C13417.25,-972.31 13415.38,-949.34 13416.97,-928.7"/>
<polygon fill="#f9ec06" stroke="black" points="13420.42,-929.34 13418.01,-919.02 13413.46,-928.59 13420.42,-929.34"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_user_login -->
<g id="edge753" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13522.29,-1209.59C13541.85,-1093.52 13636.61,-1064.57 13594.29,-954.74 13587.47,-937.03 13574.67,-920.83 13561.74,-907.72"/>
<polygon fill="#f9ec06" stroke="black" points="13564.44,-905.46 13554.81,-901.03 13559.58,-910.5 13564.44,-905.46"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge754" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13542.89,-1512.97C13542.84,-1492.02 13540.26,-1456.51 13525.29,-1430.67"/>
<path fill="none" stroke="black" d="M13525.29,-1428.67C13461.09,-1317.8 13057.91,-1430.82 12953.29,-1356.9 12908.8,-1325.46 12919.14,-1297.69 12898.29,-1247.36 12845.85,-1120.78 12859.72,-1078.66 12801.29,-954.74 12795.64,-942.76 12788.54,-930.37 12781.48,-919.05"/>
<polygon fill="#f9ec06" stroke="black" points="12784.47,-917.22 12776.14,-910.68 12778.57,-920.99 12784.47,-917.22"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_web -->
<g id="edge755" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13569.6,-1514.65C13590.35,-1502.31 13619.32,-1484.29 13643.29,-1466.43 13702.8,-1422.11 13720.28,-1412.61 13769.29,-1356.9 13795.23,-1327.41 13790.13,-1310.74 13818.29,-1283.36 13971.33,-1134.53 14082.8,-1187.24 14225.29,-1028.28 14290.1,-955.97 14265.22,-912.23 14316.29,-829.64 14338.3,-794.04 14351.03,-790.48 14377.29,-757.87"/>
</g>
<!-- aiohttpjinja2 -->
<g id="node180" class="node">
<title>aiohttpjinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#6abc2f" stroke="black" points="14596.29,-1338.13 14593.29,-1342.13 14572.29,-1342.13 14569.29,-1338.13 14528.29,-1338.13 14528.29,-1302.13 14596.29,-1302.13 14596.29,-1338.13"/>
<text text-anchor="middle" x="14562.29" y="-1317.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttpjinja2</text>
</g>
<!-- aiohttp&#45;&gt;aiohttpjinja2 -->
<g id="edge756" class="edge">
<title>aiohttp&#45;&gt;aiohttpjinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13569.6,-1527.73C13683.05,-1516.06 14127.47,-1465.44 14476.29,-1356.9 14490.05,-1352.61 14504.66,-1346.97 14517.86,-1341.44"/>
<polygon fill="#f9ec06" stroke="black" points="14518.89,-1344.81 14526.7,-1337.65 14516.13,-1338.37 14518.89,-1344.81"/>
</g>
<!-- aiohttpsession -->
<g id="node182" class="node">
<title>aiohttpsession</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#3db857" stroke="black" points="14396.29,-1338.13 14393.29,-1342.13 14372.29,-1342.13 14369.29,-1338.13 14316.29,-1338.13 14316.29,-1302.13 14396.29,-1302.13 14396.29,-1338.13"/>
<text text-anchor="middle" x="14356.29" y="-1317.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttpsession</text>
</g>
<!-- aiohttp&#45;&gt;aiohttpsession -->
<g id="edge757" class="edge">
<title>aiohttp&#45;&gt;aiohttpsession</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13756.29,-1428.67C13950.05,-1354.92 14198.63,-1331.07 14304.65,-1323.93"/>
<polygon fill="#f9ec06" stroke="black" points="14304.7,-1327.43 14314.46,-1323.29 14304.25,-1320.45 14304.7,-1327.43"/>
</g>
<!-- aiohttpdebugtoolbar -->
<g id="node179" class="node">
<title>aiohttpdebugtoolbar</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#9cb653" stroke="black" points="14268.79,-892.19 14265.79,-896.19 14244.79,-896.19 14241.79,-892.19 14167.79,-892.19 14167.79,-856.19 14268.79,-856.19 14268.79,-892.19"/>
<text text-anchor="middle" x="14218.29" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttpdebugtoolbar</text>
</g>
<!-- aiohttpdebugtoolbar&#45;&gt;ahriman_web_web -->
<g id="edge758" class="edge">
<title>aiohttpdebugtoolbar&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14243.86,-855.75C14286.2,-826.7 14367.23,-770.36 14377.29,-757.87"/>
<path fill="none" stroke="black" d="M14377.29,-755.87C14389.95,-740.15 14391.69,-735.03 14405.29,-720.1 14436.58,-685.77 14512.96,-682.32 14481.29,-648.34"/>
<path fill="none" stroke="black" d="M14481.29,-646.34C14372.37,-529.47 13922.94,-616.34 13763.29,-610.57 13585.8,-604.15 12337,-619.91 12165.29,-574.57 12160.95,-573.42 12156.58,-571.85 12152.31,-570.03"/>
<polygon fill="#9cb653" stroke="black" points="12153.88,-566.9 12143.35,-565.76 12150.87,-573.22 12153.88,-566.9"/>
</g>
<!-- aiohttpjinja2&#45;&gt;ahriman_web_middlewares_exception_handler -->
<g id="edge759" class="edge">
<title>aiohttpjinja2&#45;&gt;ahriman_web_middlewares_exception_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14565.54,-1301.97C14576.27,-1242.32 14608.13,-1038.68 14576.29,-875.19"/>
<path fill="none" stroke="black" d="M14576.29,-873.19C14568.78,-842.97 14547.42,-815.73 14526.85,-795.32"/>
<polygon fill="#6abc2f" stroke="black" points="14529.48,-792.99 14519.83,-788.61 14524.64,-798.05 14529.48,-792.99"/>
</g>
<!-- aiohttpjinja2&#45;&gt;ahriman_web_views_index -->
<g id="edge760" class="edge">
<title>aiohttpjinja2&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14527.82,-1311.24C14328.5,-1265.66 13331.31,-1037.52 13300.29,-1028.28 13209.52,-1001.25 13189.91,-985.35 13100.29,-954.74 13050.01,-937.57 13032.22,-945.44 12986.29,-918.74 12981.72,-916.08 12977.23,-912.91 12972.94,-909.51"/>
<polygon fill="#6abc2f" stroke="black" points="12975.51,-907.1 12965.63,-903.28 12970.97,-912.43 12975.51,-907.1"/>
</g>
<!-- aiohttpjinja2&#45;&gt;ahriman_web_web -->
<g id="edge761" class="edge">
<title>aiohttpjinja2&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14576.29,-873.19C14563.94,-823.45 14598,-804.3 14576.29,-757.87"/>
<path fill="none" stroke="black" d="M14576.29,-755.87C14568.66,-739.57 14568.2,-734.42 14557.29,-720.1 14550.25,-710.87 14489.21,-656.83 14481.29,-648.34"/>
</g>
<!-- aiohttpsecurity -->
<g id="node181" class="node">
<title>aiohttpsecurity</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#54c247" stroke="black" points="13728.29,-1651.19 13725.29,-1655.19 13704.29,-1655.19 13701.29,-1651.19 13648.29,-1651.19 13648.29,-1615.19 13728.29,-1615.19 13728.29,-1651.19"/>
<text text-anchor="middle" x="13688.29" y="-1630.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttpsecurity</text>
</g>
<!-- aiohttpsecurity&#45;&gt;ahriman_core_auth_helpers -->
<g id="edge762" class="edge">
<title>aiohttpsecurity&#45;&gt;ahriman_core_auth_helpers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13647.98,-1620.24C13609.99,-1608.08 13552.19,-1587.22 13506.29,-1560.42 13421.92,-1511.15 13200.43,-1320.19 13112.77,-1243.62"/>
<polygon fill="#54c247" stroke="black" points="13115.19,-1241.09 13105.36,-1237.14 13110.58,-1246.36 13115.19,-1241.09"/>
</g>
<!-- aiohttpsecurity&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge763" class="edge">
<title>aiohttpsecurity&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13712.67,-1614.9C13841.18,-1523.78 14433.97,-1103.43 14434.29,-1102.05"/>
<path fill="none" stroke="black" d="M14434.29,-1100.05C14443.64,-1053.18 14432.79,-1040.28 14434.29,-992.51"/>
</g>
<!-- aiohttpsession&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge764" class="edge">
<title>aiohttpsession&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14372.94,-1301.93C14390.67,-1282.09 14417.15,-1247.55 14424.29,-1211.59"/>
<path fill="none" stroke="black" d="M14424.29,-1209.59C14433.64,-1162.5 14423.65,-1148.86 14434.29,-1102.05"/>
</g>
<!-- boto3 -->
<g id="node183" class="node">
<title>boto3</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#40c083" stroke="black" points="7238.29,-2762.13 7235.29,-2766.13 7214.29,-2766.13 7211.29,-2762.13 7184.29,-2762.13 7184.29,-2726.13 7238.29,-2726.13 7238.29,-2762.13"/>
<text text-anchor="middle" x="7211.29" y="-2741.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">boto3</text>
</g>
<!-- boto3&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge765" class="edge">
<title>boto3&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7195.02,-2725.96C7187.96,-2719.34 7179.26,-2712.22 7170.29,-2707.36 7118.31,-2679.25 7088.28,-2708.48 7042.29,-2671.36 6999.42,-2636.77 7009.5,-2610.81 6984.29,-2561.83 6977.92,-2549.46 6979.8,-2543.98 6970.29,-2533.83"/>
<path fill="none" stroke="black" d="M6970.29,-2531.83C6922.49,-2481.17 6884.89,-2487.81 6856.29,-2424.3"/>
</g>
<!-- cerberus -->
<g id="node184" class="node">
<title>cerberus</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#3db8a4" stroke="black" points="6609.79,-3396.03 6606.79,-3400.03 6585.79,-3400.03 6582.79,-3396.03 6554.79,-3396.03 6554.79,-3360.03 6609.79,-3360.03 6609.79,-3396.03"/>
<text text-anchor="middle" x="6582.29" y="-3375.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cerberus</text>
</g>
<!-- cerberus&#45;&gt;ahriman_core_configuration_validator -->
<g id="edge766" class="edge">
<title>cerberus&#45;&gt;ahriman_core_configuration_validator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6554.45,-3374.57C6337.53,-3355.32 4915.13,-3229 4485.29,-3187.95 3746.68,-3117.4 3562.94,-3090.5 2824.29,-3020.43 2644.39,-3003.36 2595.23,-3025.64 2419.29,-2984.43 2364.65,-2971.63 2220.98,-2912.14 2141.37,-2878.33"/>
<polygon fill="#3db8a4" stroke="black" points="2143.01,-2875.22 2132.44,-2874.53 2140.27,-2881.66 2143.01,-2875.22"/>
</g>
<!-- cryptography -->
<g id="node185" class="node">
<title>cryptography</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#19c6e6" stroke="black" points="13391.29,-4786.5 13388.29,-4790.5 13367.29,-4790.5 13364.29,-4786.5 13317.29,-4786.5 13317.29,-4750.5 13391.29,-4750.5 13391.29,-4786.5"/>
<text text-anchor="middle" x="13354.29" y="-4766" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cryptography</text>
</g>
<!-- cryptography&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge767" class="edge">
<title>cryptography&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14530.29,-4232.01C14463.27,-3787.22 14669.04,-3671.11 14620.29,-3223.95 14594.8,-2990.22 14671.26,-2874.89 14506.29,-2707.36 14457.58,-2657.9 14409.24,-2713.8 14354.29,-2671.36 14340.04,-2660.36 14343.65,-2651.54 14335.29,-2635.6"/>
</g>
<!-- cryptography&#45;&gt;aiohttpsession -->
<g id="edge768" class="edge">
<title>cryptography&#45;&gt;aiohttpsession</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13391.75,-4766.31C13592.35,-4759.5 14530.29,-4721.34 14530.29,-4603.51 14530.29,-4603.51 14530.29,-4603.51 14530.29,-4435.53 14530.29,-4345.97 14547.39,-4321.93 14530.29,-4234.01"/>
<path fill="none" stroke="black" d="M14530.29,-4232.01C14512.06,-4149.21 14454.29,-4141.82 14454.29,-4057.04 14454.29,-4057.04 14454.29,-4057.04 14454.29,-2852.67 14454.29,-2774.28 14403.12,-2768.7 14354.29,-2707.36 14340.77,-2690.38 14329.16,-2691.59 14321.29,-2671.36 14309.44,-2640.9 14320.07,-2630.49 14321.29,-2597.83 14325.51,-2484.22 14332.48,-2456.16 14340.29,-2342.75 14351.91,-2173.95 14364.29,-2132 14364.29,-1962.8 14364.29,-1962.8 14364.29,-1962.8 14364.29,-1530.43 14364.29,-1465.84 14360.44,-1390.11 14358.08,-1349.8"/>
<polygon fill="#19c6e6" stroke="black" points="14361.58,-1349.77 14357.49,-1339.99 14354.59,-1350.19 14361.58,-1349.77"/>
</g>
<!-- requests -->
<g id="node192" class="node">
<title>requests</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#ef06e3" stroke="black" points="10142.29,-4703.51 10139.29,-4707.51 10118.29,-4707.51 10115.29,-4703.51 10088.29,-4703.51 10088.29,-4667.51 10142.29,-4667.51 10142.29,-4703.51"/>
<text text-anchor="middle" x="10115.29" y="-4683.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">requests</text>
</g>
<!-- cryptography&#45;&gt;requests -->
<g id="edge769" class="edge">
<title>cryptography&#45;&gt;requests</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13316.79,-4766.56C12980.98,-4758.16 10494.93,-4696 10154,-4687.47"/>
<polygon fill="#19c6e6" stroke="black" points="10154.16,-4683.98 10144.08,-4687.23 10153.98,-4690.97 10154.16,-4683.98"/>
</g>
<!-- inflection -->
<g id="node186" class="node">
<title>inflection</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#5387b6" stroke="black" points="2971.29,-4537.52 2968.29,-4541.52 2947.29,-4541.52 2944.29,-4537.52 2915.29,-4537.52 2915.29,-4501.52 2971.29,-4501.52 2971.29,-4537.52"/>
<text text-anchor="middle" x="2943.29" y="-4517.02" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">inflection</text>
</g>
<!-- inflection&#45;&gt;ahriman_models_aur_package -->
<g id="edge770" class="edge">
<title>inflection&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2944.2,-4501.15C2946.56,-4456.5 2952.87,-4336.79 2956.19,-4273.88"/>
<polygon fill="#5387b6" stroke="black" points="2959.68,-4274.14 2956.71,-4263.97 2952.69,-4273.78 2959.68,-4274.14"/>
</g>
<!-- jinja2 -->
<g id="node187" class="node">
<title>jinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#3b5ace" stroke="black" points="14417.29,-2652.6 14414.29,-2656.6 14393.29,-2656.6 14390.29,-2652.6 14363.29,-2652.6 14363.29,-2616.6 14417.29,-2616.6 14417.29,-2652.6"/>
<text text-anchor="middle" x="14390.29" y="-2632.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">jinja2</text>
</g>
<!-- jinja2&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge771" class="edge">
<title>jinja2&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14362.88,-2632.16C14143.17,-2620.75 12645.61,-2543.81 11428.29,-2503.84 11382.55,-2502.34 9818.17,-2494.93 9781.29,-2467.84 9717.51,-2421.02 9776.02,-2359.06 9724.29,-2299.2"/>
<path fill="none" stroke="black" d="M9724.29,-2297.2C9712.79,-2285.5 9633.65,-2240.41 9579.52,-2210.2"/>
<polygon fill="#3b5ace" stroke="black" points="9581.48,-2207.29 9571.04,-2205.48 9578.08,-2213.41 9581.48,-2207.29"/>
</g>
<!-- jinja2&#45;&gt;ahriman_web_web -->
<g id="edge772" class="edge">
<title>jinja2&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14586.29,-1428.67C14602.09,-1372.31 14658.83,-1379.55 14662.29,-1321.13"/>
<path fill="none" stroke="black" d="M14662.29,-1319.13C14669.74,-1193.17 14629.75,-872.17 14576.29,-757.87"/>
</g>
<!-- jinja2&#45;&gt;aiohttpjinja2 -->
<g id="edge773" class="edge">
<title>jinja2&#45;&gt;aiohttpjinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14395.42,-2616.34C14412.05,-2559.74 14464.98,-2374.4 14492.29,-2217.65 14552.74,-1870.62 14464.6,-1761.24 14586.29,-1430.67"/>
<path fill="none" stroke="black" d="M14586.29,-1428.67C14593.81,-1401.84 14585.01,-1370.74 14576.02,-1348.91"/>
<polygon fill="#3b5ace" stroke="black" points="14579.24,-1347.53 14572,-1339.79 14572.83,-1350.35 14579.24,-1347.53"/>
</g>
<!-- main -->
<g id="node188" class="node">
<title>main</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#6b2e2e" stroke="black" points="13031.29,-3584 13028.29,-3588 13007.29,-3588 13004.29,-3584 12977.29,-3584 12977.29,-3548 13031.29,-3548 13031.29,-3584"/>
<text text-anchor="middle" x="13004.29" y="-3563.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">main</text>
</g>
<!-- pkgresources -->
<g id="node190" class="node">
<title>pkgresources</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#6d24d0" stroke="black" points="13053.29,-3490.02 13050.29,-3494.02 13029.29,-3494.02 13026.29,-3490.02 12979.29,-3490.02 12979.29,-3454.02 13053.29,-3454.02 13053.29,-3490.02"/>
<text text-anchor="middle" x="13016.29" y="-3469.52" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgresources</text>
</g>
<!-- main&#45;&gt;pkgresources -->
<g id="edge774" class="edge">
<title>main&#45;&gt;pkgresources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13006.54,-3547.7C13008.24,-3534.72 13010.59,-3516.67 13012.56,-3501.57"/>
<polygon fill="#6b2e2e" stroke="black" points="13016.02,-3502.11 13013.84,-3491.74 13009.08,-3501.21 13016.02,-3502.11"/>
</g>
<!-- passlib -->
<g id="node189" class="node">
<title>passlib</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#4a3bce" stroke="black" points="13047.29,-3286.5 13044.29,-3290.5 13023.29,-3290.5 13020.29,-3286.5 12993.29,-3286.5 12993.29,-3250.5 13047.29,-3250.5 13047.29,-3286.5"/>
<text text-anchor="middle" x="13020.29" y="-3266" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">passlib</text>
</g>
<!-- passlib&#45;&gt;ahriman_models_user -->
<g id="edge775" class="edge">
<title>passlib&#45;&gt;ahriman_models_user</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13013.39,-3250.06C13001.43,-3219.11 12976.79,-3152.36 12963.29,-3093.97 12955.73,-3061.29 12950.78,-3023.51 12947.83,-2995.83"/>
<polygon fill="#4a3bce" stroke="black" points="12951.33,-2995.72 12946.84,-2986.13 12944.37,-2996.43 12951.33,-2995.72"/>
</g>
<!-- pkgresources&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge776" class="edge">
<title>pkgresources&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13050.68,-3453.64C13156.47,-3400.62 13487.14,-3237.89 13772.29,-3129.97 14243.28,-2951.7 14392.04,-2989.76 14850.29,-2780.9 14911.04,-2753.21 14920.39,-2734.74 14981.29,-2707.36 15025.9,-2687.31 15046.54,-2701.22 15085.29,-2671.36 15100.45,-2659.68 15096.33,-2649.69 15109.29,-2635.6"/>
</g>
<!-- pkgresources&#45;&gt;cerberus -->
<g id="edge777" class="edge">
<title>pkgresources&#45;&gt;cerberus</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12978.97,-3470.26C12808.63,-3466.8 12087.76,-3452.32 11496.29,-3443.03 9465.98,-3411.11 6963.64,-3383.23 6621.67,-3379.47"/>
<polygon fill="#6d24d0" stroke="black" points="6621.75,-3375.97 6611.71,-3379.36 6621.68,-3382.97 6621.75,-3375.97"/>
</g>
<!-- pkgresources&#45;&gt;passlib -->
<g id="edge778" class="edge">
<title>pkgresources&#45;&gt;passlib</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13016.63,-3453.84C13017.31,-3419.27 13018.87,-3341 13019.71,-3298.41"/>
<polygon fill="#6d24d0" stroke="black" points="13023.21,-3298.5 13019.91,-3288.43 13016.21,-3298.36 13023.21,-3298.5"/>
</g>
<!-- pyalpm -->
<g id="node191" class="node">
<title>pyalpm</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#ad2fdb" stroke="black" points="4601.29,-4537.52 4598.29,-4541.52 4577.29,-4541.52 4574.29,-4537.52 4547.29,-4537.52 4547.29,-4501.52 4601.29,-4501.52 4601.29,-4537.52"/>
<text text-anchor="middle" x="4574.29" y="-4517.02" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pyalpm</text>
</g>
<!-- pyalpm&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge779" class="edge">
<title>pyalpm&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4551.07,-4501.09C4484.83,-4451.7 4288.54,-4307.68 4115.29,-4204.02 3639.88,-3919.57 3509.36,-3867.31 3008.29,-3630.99 2912.12,-3585.64 2888.23,-3573.29 2788.29,-3537.01 2778.27,-3533.37 1327.07,-3100 1318.29,-3093.97 1284.21,-3070.54 1287.95,-3052.04 1261.29,-3020.43 1247.29,-3003.83 1237.85,-3003.91 1228.29,-2984.43 1222.64,-2972.91 1152.59,-2562.48 1151.29,-2533.83"/>
<path fill="none" stroke="black" d="M1151.29,-2531.83C1147.8,-2512.11 1145.48,-2490.12 1143.96,-2471.19"/>
<polygon fill="#ad2fdb" stroke="black" points="1147.46,-2471.07 1143.23,-2461.36 1140.48,-2471.59 1147.46,-2471.07"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_aur_package -->
<g id="edge780" class="edge">
<title>pyalpm&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4546.92,-4513.7C4361.08,-4480.99 3283.86,-4291.33 3017.72,-4244.47"/>
<polygon fill="#ad2fdb" stroke="black" points="3018.71,-4241.09 3008.25,-4242.81 3017.5,-4247.99 3018.71,-4241.09"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_package -->
<g id="edge781" class="edge">
<title>pyalpm&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4601.73,-4503.23C4683.72,-4457.58 4934.05,-4318.34 5142.29,-4204.02 5532.63,-3989.71 5619.1,-3914.01 6022.29,-3724.97 6092.01,-3692.29 6142.3,-3726.17 6183.29,-3660.98"/>
<path fill="none" stroke="black" d="M6183.29,-3658.98C6191.08,-3640.95 6199.94,-3621.02 6207.42,-3604.34"/>
<polygon fill="#ad2fdb" stroke="black" points="6210.58,-3605.83 6211.49,-3595.28 6204.2,-3602.96 6210.58,-3605.83"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_package_description -->
<g id="edge782" class="edge">
<title>pyalpm&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4601.72,-4514.21C4836.81,-4477.22 6512.68,-4213.59 6900.37,-4152.6"/>
<polygon fill="#ad2fdb" stroke="black" points="6900.64,-4156.1 6909.97,-4151.09 6899.55,-4149.18 6900.64,-4156.1"/>
</g>
<!-- requests&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge783" class="edge">
<title>requests&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10087.86,-4681.83C10045.81,-4677.87 9962.89,-4670.57 9892.29,-4667.51 9704.73,-4659.37 6694.28,-4681.38 6513.29,-4631.51 6482.7,-4623.08 5526.29,-4088.76 5526.29,-4057.04 5526.29,-4057.04 5526.29,-4057.04 5526.29,-3956.49 5526.29,-3738.82 5419.74,-3705.91 5346.29,-3501.01 5296.95,-3363.38 5283.61,-3329.04 5245.29,-3187.95 5209.79,-3057.24 5194.8,-3024.99 5179.29,-2890.44 5133.89,-2496.64 5171.51,-2394.98 5169.29,-1998.57 5168.56,-1868.49 5135.75,-1829.57 5176.29,-1705.96 5188.09,-1669.96 5200.29,-1665.04 5222.29,-1634.19"/>
<path fill="none" stroke="black" d="M5222.29,-1632.19C5230.68,-1617.32 5227.06,-1610.78 5236.29,-1596.42 5257.7,-1563.11 5291.25,-1571.4 5298.29,-1532.43"/>
<path fill="none" stroke="black" d="M5298.29,-1530.43C5323.48,-1390.98 5240.85,-1341.13 5298.29,-1211.59"/>
</g>
<!-- requests&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge784" class="edge">
<title>requests&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10087.86,-4681.83C10045.82,-4677.85 9962.89,-4670.54 9892.29,-4667.51 9080.11,-4632.59 7045.4,-4685.78 6234.29,-4631.51 6026.05,-4617.57 5976.39,-4589.48 5768.29,-4573.52 5495.64,-4552.62 4808.7,-4578.17 4538.29,-4537.52 4478.79,-4528.58 4333.17,-4487.82 4277.29,-4465.52 4130.37,-4406.91 4110.55,-4355.74 3963.29,-4298 3540.57,-4132.24 3424.98,-4100.82 2975.29,-4038.04 2877.05,-4024.32 1282.26,-4039.17 1190.29,-4002.04 1186.62,-4000.55 1183.06,-3998.64 1179.65,-3996.45"/>
<polygon fill="#ef06e3" stroke="black" points="1181.82,-3993.7 1171.71,-3990.55 1177.65,-3999.32 1181.82,-3993.7"/>
</g>
<!-- requests&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge785" class="edge">
<title>requests&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10087.86,-4681.83C10045.81,-4677.87 9962.89,-4670.56 9892.29,-4667.51 9512.73,-4651.06 6850.51,-4676.57 6473.29,-4631.51 5964.17,-4570.68 5846.85,-4495.37 5349.29,-4371.54 4390.81,-4133 4129.84,-4133.16 3206.29,-3782.96 3115.21,-3748.42 3091.93,-3738.9 3008.29,-3688.97 2970.89,-3666.65 2968.66,-3649.6 2929.29,-3630.99 2870.81,-3603.35 2850.85,-3611.41 2788.29,-3594.99 2322.57,-3472.78 2198.89,-3465.81 1742.29,-3313.04 1519.52,-3238.51 1424.24,-3263.16 1261.29,-3093.97 1203.47,-3033.93 937.14,-2506.48 923.29,-2424.3"/>
</g>
<!-- requests&#45;&gt;ahriman_core_report_telegram -->
<g id="edge786" class="edge">
<title>requests&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10258.29,-4333.77C10198.14,-3843.18 10487.13,-3692.33 10329.29,-3223.95 10270.8,-3050.4 10143.83,-3064.63 10087.29,-2890.44 10077.2,-2859.36 10085.38,-2849.53 10087.29,-2816.9 10103.83,-2534.57 10231.41,-2395.7 10046.29,-2181.88"/>
</g>
<!-- requests&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge787" class="edge">
<title>requests&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10163.29,-4601.51C10195.8,-4480.37 10289.96,-4457.13 10258.29,-4335.77"/>
<path fill="none" stroke="black" d="M10258.29,-4333.77C10236.87,-4236.18 10144.29,-4239.94 10144.29,-4140.03 10144.29,-4140.03 10144.29,-4140.03 10144.29,-3658.98 10144.29,-3480.62 9904.42,-3081.51 9816.29,-2926.44 9786.88,-2874.71 9786.76,-2852.78 9739.29,-2816.9 9700.6,-2787.67 9667.5,-2818.02 9636.29,-2780.9 9594.16,-2730.8 9586.1,-2695.58 9612.29,-2635.6"/>
</g>
<!-- requests&#45;&gt;ahriman_core_status_web_client -->
<g id="edge788" class="edge">
<title>requests&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10142.62,-4676.19C10220.6,-4651.73 10449.2,-4574.78 10614.29,-4465.52 10824.11,-4326.66 11299.19,-3898.64 11438.29,-3688.97 11525.7,-3557.21 11570.2,-3504.86 11543.29,-3349.04 11534.49,-3298.12 11499.95,-3168.29 11465.29,-3129.97 11440.22,-3102.24 11411.61,-3123.94 11389.29,-3093.97 11352.36,-3044.37 11368.29,-3018.27 11368.29,-2956.43 11368.29,-2956.43 11368.29,-2956.43 11368.29,-2852.67 11368.29,-2774.93 11224.45,-2611.58 11224.29,-2533.83"/>
</g>
<!-- requests&#45;&gt;ahriman_core_upload_github -->
<g id="edge789" class="edge">
<title>requests&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10068.29,-4518.52C10022.44,-4451.48 10068.29,-4416.99 10068.29,-4335.77 10068.29,-4335.77 10068.29,-4335.77 10068.29,-3658.98 10068.29,-3447.12 9736.42,-2994.75 9621.29,-2816.9 9610.27,-2799.89 9601.1,-2799.61 9593.29,-2780.9 9568.19,-2720.8 9538.16,-2689.79 9574.29,-2635.6"/>
</g>
<!-- requests&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge790" class="edge">
<title>requests&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10131.72,-4667.21C10144.69,-4651.85 10160.97,-4628.09 10163.29,-4603.51"/>
<path fill="none" stroke="black" d="M10163.29,-4601.51C10168.5,-4546.28 10105.18,-4561.97 10068.29,-4520.52"/>
<path fill="none" stroke="black" d="M10068.29,-4518.52C9878.5,-4305.29 9991.23,-4163.4 9854.29,-3912.94 9844.56,-3895.15 9835.4,-3895.05 9826.29,-3876.94 9804.1,-3832.82 9604.18,-3067.19 9588.29,-3020.43 9573.79,-2977.77 9568.04,-2967.85 9550.29,-2926.44 9522.3,-2861.16 9499.29,-2850.33 9484.29,-2780.9 9458.14,-2659.93 9567.64,-2614.54 9512.29,-2503.84 9500.36,-2479.99 9484.01,-2485.79 9464.29,-2467.84 9424.7,-2431.83 9427.92,-2408.27 9383.29,-2378.75 9330.52,-2343.85 9260.74,-2322.45 9212.34,-2310.77"/>
<polygon fill="#ef06e3" stroke="black" points="9213.14,-2307.36 9202.6,-2308.49 9211.54,-2314.18 9213.14,-2307.36"/>
</g>
<!-- requests&#45;&gt;ahriman_core_util -->
<g id="edge791" class="edge">
<title>requests&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10087.93,-4673.94C10027.56,-4650.16 9879.22,-4589.13 9764.29,-4520.52"/>
</g>
<!-- requestsunixsocket -->
<g id="node193" class="node">
<title>requestsunixsocket</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#b34c8d" stroke="black" points="11299.79,-4074.04 11296.79,-4078.04 11275.79,-4078.04 11272.79,-4074.04 11198.79,-4074.04 11198.79,-4038.04 11299.79,-4038.04 11299.79,-4074.04"/>
<text text-anchor="middle" x="11249.29" y="-4053.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">requestsunixsocket</text>
</g>
<!-- requests&#45;&gt;requestsunixsocket -->
<g id="edge792" class="edge">
<title>requests&#45;&gt;requestsunixsocket</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10142.59,-4684.84C10242.86,-4685.62 10589.8,-4684.36 10684.29,-4631.51 10792.88,-4570.75 10767.88,-4498.96 10852.29,-4407.54 10976.74,-4272.75 11148.38,-4135.13 11218.04,-4080.99"/>
<polygon fill="#ef06e3" stroke="black" points="11219.83,-4084.03 11225.59,-4075.14 11215.54,-4078.5 11219.83,-4084.03"/>
</g>
<!-- requestsunixsocket&#45;&gt;ahriman_core_status_web_client -->
<g id="edge793" class="edge">
<title>requestsunixsocket&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11272.89,-4037.63C11324.2,-3998.42 11446.01,-3897.6 11505.29,-3782.96 11583.58,-3631.54 11564.31,-3576.64 11581.29,-3407.03 11589.39,-3326.06 11608.91,-3300.48 11581.29,-3223.95 11562.86,-3172.89 11545.9,-3163.59 11503.29,-3129.97 11474.89,-3107.55 11451.25,-3123.45 11430.29,-3093.97 11329.96,-2952.86 11439.95,-2870.62 11382.29,-2707.36 11363.2,-2653.33 11356.52,-2636.56 11314.29,-2597.83 11278.12,-2564.65 11226.17,-2582.88 11224.29,-2533.83"/>
</g>
<!-- srcinfo -->
<g id="node194" class="node">
<title>srcinfo</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#b65373" stroke="black" points="6265.29,-3865.95 6262.29,-3869.95 6241.29,-3869.95 6238.29,-3865.95 6211.29,-3865.95 6211.29,-3829.95 6265.29,-3829.95 6265.29,-3865.95"/>
<text text-anchor="middle" x="6238.29" y="-3845.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">srcinfo</text>
</g>
<!-- srcinfo&#45;&gt;ahriman_models_package -->
<g id="edge794" class="edge">
<title>srcinfo&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6218.52,-3829.63C6201.17,-3812.3 6179.28,-3784.09 6183.29,-3754.97"/>
</g>
</g>
</svg>