arm-ka-docs/model/diagrams/part04_files_jobs.svg
Andrey Epifancev 0684481255 model: v5.18 — consolidation_id последней колонкой stored_file (#90)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-09 23:28:52 +04:00

793 lines
94 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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 2.47.0 (20210316.0004)
-->
<!-- Title: dbml Pages: 1 -->
<svg width="3716pt" height="4844pt"
viewBox="0.00 0.00 3715.82 4843.79" 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 4839.79)">
<title>dbml</title>
<!-- document_type -->
<g id="document_type" class="node">
<title>document_type</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="1345.56" cy="-2130.68" rx="260.84" ry="257.27"/>
<polygon fill="#29235c" stroke="transparent" points="1163.56,-2250.68 1163.56,-2310.68 1528.56,-2310.68 1528.56,-2250.68 1163.56,-2250.68"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-2250.68 1163.56,-2310.68 1528.56,-2310.68 1528.56,-2250.68 1163.56,-2250.68"/>
<text text-anchor="start" x="1174.44" y="-2271.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;document_type &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1163.56,-2190.68 1163.56,-2250.68 1528.56,-2250.68 1528.56,-2190.68 1163.56,-2190.68"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-2190.68 1163.56,-2250.68 1528.56,-2250.68 1528.56,-2190.68 1163.56,-2190.68"/>
<text text-anchor="start" x="1235.81" y="-2211.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;BALANCE &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1163.56,-2130.68 1163.56,-2190.68 1528.56,-2190.68 1528.56,-2130.68 1163.56,-2130.68"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-2130.68 1163.56,-2190.68 1528.56,-2190.68 1528.56,-2130.68 1163.56,-2130.68"/>
<text text-anchor="start" x="1246.5" y="-2151.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;INCOME &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1163.56,-2070.68 1163.56,-2130.68 1528.56,-2130.68 1528.56,-2070.68 1163.56,-2070.68"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-2070.68 1163.56,-2130.68 1528.56,-2130.68 1528.56,-2070.68 1163.56,-2070.68"/>
<text text-anchor="start" x="1276.7" y="-2091.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;OSV &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1163.56,-2010.68 1163.56,-2070.68 1528.56,-2070.68 1528.56,-2010.68 1163.56,-2010.68"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-2010.68 1163.56,-2070.68 1528.56,-2070.68 1528.56,-2010.68 1163.56,-2010.68"/>
<text text-anchor="start" x="1206.49" y="-2031.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;DISCLOSURE &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1163.56,-1950.68 1163.56,-2010.68 1528.56,-2010.68 1528.56,-1950.68 1163.56,-1950.68"/>
<polygon fill="none" stroke="#29235c" points="1163.56,-1950.68 1163.56,-2010.68 1528.56,-2010.68 1528.56,-1950.68 1163.56,-1950.68"/>
<text text-anchor="start" x="1254.5" y="-1971.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;OTHER &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1162.06,-1949.68 1162.06,-2311.68 1529.06,-2311.68 1529.06,-1949.68 1162.06,-1949.68"/>
</g>
<!-- file_type -->
<g id="file_type" class="node">
<title>file_type</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-1256.68" rx="190.42" ry="299.63"/>
<polygon fill="#29235c" stroke="transparent" points="1952.43,-1406.68 1952.43,-1466.68 2217.43,-1466.68 2217.43,-1406.68 1952.43,-1406.68"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-1406.68 1952.43,-1466.68 2217.43,-1466.68 2217.43,-1406.68 1952.43,-1406.68"/>
<text text-anchor="start" x="1963.11" y="-1427.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;file_type &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-1346.68 1952.43,-1406.68 2217.43,-1406.68 2217.43,-1346.68 1952.43,-1346.68"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-1346.68 1952.43,-1406.68 2217.43,-1406.68 2217.43,-1346.68 1952.43,-1346.68"/>
<text text-anchor="start" x="2019.12" y="-1367.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;XLS &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-1286.68 1952.43,-1346.68 2217.43,-1346.68 2217.43,-1286.68 1952.43,-1286.68"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-1286.68 1952.43,-1346.68 2217.43,-1346.68 2217.43,-1286.68 1952.43,-1286.68"/>
<text text-anchor="start" x="2008.45" y="-1307.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;XLSX &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-1226.68 1952.43,-1286.68 2217.43,-1286.68 2217.43,-1226.68 1952.43,-1226.68"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-1226.68 1952.43,-1286.68 2217.43,-1286.68 2217.43,-1226.68 1952.43,-1226.68"/>
<text text-anchor="start" x="2008.45" y="-1247.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;XLSB &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-1166.68 1952.43,-1226.68 2217.43,-1226.68 2217.43,-1166.68 1952.43,-1166.68"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-1166.68 1952.43,-1226.68 2217.43,-1226.68 2217.43,-1166.68 1952.43,-1166.68"/>
<text text-anchor="start" x="2017.36" y="-1187.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;PDF &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-1106.68 1952.43,-1166.68 2217.43,-1166.68 2217.43,-1106.68 1952.43,-1106.68"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-1106.68 1952.43,-1166.68 2217.43,-1166.68 2217.43,-1106.68 1952.43,-1106.68"/>
<text text-anchor="start" x="2014.69" y="-1127.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;PNG &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1952.43,-1046.68 1952.43,-1106.68 2217.43,-1106.68 2217.43,-1046.68 1952.43,-1046.68"/>
<polygon fill="none" stroke="#29235c" points="1952.43,-1046.68 1952.43,-1106.68 2217.43,-1106.68 2217.43,-1046.68 1952.43,-1046.68"/>
<text text-anchor="start" x="2018.24" y="-1067.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;JPG &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1950.93,-1045.68 1950.93,-1467.68 2217.93,-1467.68 2217.93,-1045.68 1950.93,-1045.68"/>
</g>
<!-- recognition_pipeline -->
<g id="recognition_pipeline" class="node">
<title>recognition_pipeline</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2811.98" cy="-4705.68" rx="307.68" ry="130.22"/>
<polygon fill="#29235c" stroke="transparent" points="2596.98,-4735.68 2596.98,-4795.68 3027.98,-4795.68 3027.98,-4735.68 2596.98,-4735.68"/>
<polygon fill="none" stroke="#29235c" points="2596.98,-4735.68 2596.98,-4795.68 3027.98,-4795.68 3027.98,-4735.68 2596.98,-4735.68"/>
<text text-anchor="start" x="2607.97" y="-4756.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;recognition_pipeline &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2596.98,-4675.68 2596.98,-4735.68 3027.98,-4735.68 3027.98,-4675.68 2596.98,-4675.68"/>
<polygon fill="none" stroke="#29235c" points="2596.98,-4675.68 2596.98,-4735.68 3027.98,-4735.68 3027.98,-4675.68 2596.98,-4675.68"/>
<text text-anchor="start" x="2728" y="-4696.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;tabular &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2596.98,-4615.68 2596.98,-4675.68 3027.98,-4675.68 3027.98,-4615.68 2596.98,-4615.68"/>
<polygon fill="none" stroke="#29235c" points="2596.98,-4615.68 2596.98,-4675.68 3027.98,-4675.68 3027.98,-4615.68 2596.98,-4615.68"/>
<text text-anchor="start" x="2733.35" y="-4636.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;image &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="2595.48,-4614.68 2595.48,-4796.68 3028.48,-4796.68 3028.48,-4614.68 2595.48,-4614.68"/>
</g>
<!-- period_quarter -->
<g id="period_quarter" class="node">
<title>period_quarter</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="1345.56" cy="-1640.68" rx="253.29" ry="214.92"/>
<polygon fill="#29235c" stroke="transparent" points="1168.56,-1730.68 1168.56,-1790.68 1522.56,-1790.68 1522.56,-1730.68 1168.56,-1730.68"/>
<polygon fill="none" stroke="#29235c" points="1168.56,-1730.68 1168.56,-1790.68 1522.56,-1790.68 1522.56,-1730.68 1168.56,-1730.68"/>
<text text-anchor="start" x="1179.29" y="-1751.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;period_quarter &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1168.56,-1670.68 1168.56,-1730.68 1522.56,-1730.68 1522.56,-1670.68 1168.56,-1670.68"/>
<polygon fill="none" stroke="#29235c" points="1168.56,-1670.68 1168.56,-1730.68 1522.56,-1730.68 1522.56,-1670.68 1168.56,-1670.68"/>
<text text-anchor="start" x="1288.65" y="-1691.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;Q1 &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1168.56,-1610.68 1168.56,-1670.68 1522.56,-1670.68 1522.56,-1610.68 1168.56,-1610.68"/>
<polygon fill="none" stroke="#29235c" points="1168.56,-1610.68 1168.56,-1670.68 1522.56,-1670.68 1522.56,-1610.68 1168.56,-1610.68"/>
<text text-anchor="start" x="1288.65" y="-1631.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;Q2 &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1168.56,-1550.68 1168.56,-1610.68 1522.56,-1610.68 1522.56,-1550.68 1168.56,-1550.68"/>
<polygon fill="none" stroke="#29235c" points="1168.56,-1550.68 1168.56,-1610.68 1522.56,-1610.68 1522.56,-1550.68 1168.56,-1550.68"/>
<text text-anchor="start" x="1288.65" y="-1571.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;Q3 &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1168.56,-1490.68 1168.56,-1550.68 1522.56,-1550.68 1522.56,-1490.68 1168.56,-1490.68"/>
<polygon fill="none" stroke="#29235c" points="1168.56,-1490.68 1168.56,-1550.68 1522.56,-1550.68 1522.56,-1490.68 1168.56,-1490.68"/>
<text text-anchor="start" x="1288.65" y="-1511.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;Q4 &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1167.56,-1489.68 1167.56,-1791.68 1523.56,-1791.68 1523.56,-1489.68 1167.56,-1489.68"/>
</g>
<!-- file_status -->
<g id="file_status" class="node">
<title>file_status</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-643.68" rx="224.31" ry="257.27"/>
<polygon fill="#29235c" stroke="transparent" points="1928.43,-763.68 1928.43,-823.68 2241.43,-823.68 2241.43,-763.68 1928.43,-763.68"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-763.68 1928.43,-823.68 2241.43,-823.68 2241.43,-763.68 1928.43,-763.68"/>
<text text-anchor="start" x="1950.66" y="-784.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;file_status &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1928.43,-703.68 1928.43,-763.68 2241.43,-763.68 2241.43,-703.68 1928.43,-703.68"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-703.68 1928.43,-763.68 2241.43,-763.68 2241.43,-703.68 1928.43,-703.68"/>
<text text-anchor="start" x="1961.35" y="-724.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;UPLOADED &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1928.43,-643.68 1928.43,-703.68 2241.43,-703.68 2241.43,-643.68 1928.43,-643.68"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-643.68 1928.43,-703.68 2241.43,-703.68 2241.43,-643.68 1928.43,-643.68"/>
<text text-anchor="start" x="1942.68" y="-664.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;PROCESSING &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1928.43,-583.68 1928.43,-643.68 2241.43,-643.68 2241.43,-583.68 1928.43,-583.68"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-583.68 1928.43,-643.68 2241.43,-643.68 2241.43,-583.68 1928.43,-583.68"/>
<text text-anchor="start" x="1948.91" y="-604.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;PROCESSED &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1928.43,-523.68 1928.43,-583.68 2241.43,-583.68 2241.43,-523.68 1928.43,-523.68"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-523.68 1928.43,-583.68 2241.43,-583.68 2241.43,-523.68 1928.43,-523.68"/>
<text text-anchor="start" x="1991.59" y="-544.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;ERROR &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1928.43,-463.68 1928.43,-523.68 2241.43,-523.68 2241.43,-463.68 1928.43,-463.68"/>
<polygon fill="none" stroke="#29235c" points="1928.43,-463.68 1928.43,-523.68 2241.43,-523.68 2241.43,-463.68 1928.43,-463.68"/>
<text text-anchor="start" x="1939.13" y="-484.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;SUPERSEDED &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1926.93,-462.68 1926.93,-824.68 2241.93,-824.68 2241.93,-462.68 1926.93,-462.68"/>
</g>
<!-- document_status -->
<g id="document_status" class="node">
<title>document_status</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="1345.56" cy="-1192.68" rx="278.7" ry="214.92"/>
<polygon fill="#29235c" stroke="transparent" points="1150.56,-1282.68 1150.56,-1342.68 1540.56,-1342.68 1540.56,-1282.68 1150.56,-1282.68"/>
<polygon fill="none" stroke="#29235c" points="1150.56,-1282.68 1150.56,-1342.68 1540.56,-1342.68 1540.56,-1282.68 1150.56,-1282.68"/>
<text text-anchor="start" x="1161.49" y="-1303.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;document_status &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1150.56,-1222.68 1150.56,-1282.68 1540.56,-1282.68 1540.56,-1222.68 1150.56,-1222.68"/>
<polygon fill="none" stroke="#29235c" points="1150.56,-1222.68 1150.56,-1282.68 1540.56,-1282.68 1540.56,-1222.68 1150.56,-1222.68"/>
<text text-anchor="start" x="1203.33" y="-1243.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;RECOGNIZED &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1150.56,-1162.68 1150.56,-1222.68 1540.56,-1222.68 1540.56,-1162.68 1150.56,-1162.68"/>
<polygon fill="none" stroke="#29235c" points="1150.56,-1162.68 1150.56,-1222.68 1540.56,-1222.68 1540.56,-1162.68 1150.56,-1162.68"/>
<text text-anchor="start" x="1189.99" y="-1183.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;NEEDS_CHECK &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1150.56,-1102.68 1150.56,-1162.68 1540.56,-1162.68 1540.56,-1102.68 1150.56,-1102.68"/>
<polygon fill="none" stroke="#29235c" points="1150.56,-1102.68 1150.56,-1162.68 1540.56,-1162.68 1540.56,-1102.68 1150.56,-1102.68"/>
<text text-anchor="start" x="1213.12" y="-1123.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;CONFIRMED &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1150.56,-1042.68 1150.56,-1102.68 1540.56,-1102.68 1540.56,-1042.68 1150.56,-1042.68"/>
<polygon fill="none" stroke="#29235c" points="1150.56,-1042.68 1150.56,-1102.68 1540.56,-1102.68 1540.56,-1042.68 1150.56,-1042.68"/>
<text text-anchor="start" x="1252.22" y="-1063.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;ERROR &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1149.56,-1041.68 1149.56,-1343.68 1541.56,-1343.68 1541.56,-1041.68 1149.56,-1041.68"/>
</g>
<!-- s3_bucket_role -->
<g id="s3_bucket_role" class="node">
<title>s3_bucket_role</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="3448.31" cy="-3335.68" rx="259.52" ry="214.92"/>
<polygon fill="#29235c" stroke="transparent" points="3267.31,-3425.68 3267.31,-3485.68 3630.31,-3485.68 3630.31,-3425.68 3267.31,-3425.68"/>
<polygon fill="none" stroke="#29235c" points="3267.31,-3425.68 3267.31,-3485.68 3630.31,-3485.68 3630.31,-3425.68 3267.31,-3425.68"/>
<text text-anchor="start" x="3278.08" y="-3446.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;s3_bucket_role &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="3267.31,-3365.68 3267.31,-3425.68 3630.31,-3425.68 3630.31,-3365.68 3267.31,-3365.68"/>
<polygon fill="none" stroke="#29235c" points="3267.31,-3365.68 3267.31,-3425.68 3630.31,-3425.68 3630.31,-3365.68 3267.31,-3365.68"/>
<text text-anchor="start" x="3357.22" y="-3386.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;uploads &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="3267.31,-3305.68 3267.31,-3365.68 3630.31,-3365.68 3630.31,-3305.68 3267.31,-3305.68"/>
<polygon fill="none" stroke="#29235c" points="3267.31,-3305.68 3267.31,-3365.68 3630.31,-3365.68 3630.31,-3305.68 3267.31,-3305.68"/>
<text text-anchor="start" x="3366.13" y="-3326.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;results &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="3267.31,-3245.68 3267.31,-3305.68 3630.31,-3305.68 3630.31,-3245.68 3267.31,-3245.68"/>
<polygon fill="none" stroke="#29235c" points="3267.31,-3245.68 3267.31,-3305.68 3630.31,-3305.68 3630.31,-3245.68 3267.31,-3245.68"/>
<text text-anchor="start" x="3360.78" y="-3266.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;exports &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="3267.31,-3185.68 3267.31,-3245.68 3630.31,-3245.68 3630.31,-3185.68 3267.31,-3185.68"/>
<polygon fill="none" stroke="#29235c" points="3267.31,-3185.68 3267.31,-3245.68 3630.31,-3245.68 3630.31,-3185.68 3267.31,-3185.68"/>
<text text-anchor="start" x="3361.68" y="-3206.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;archive &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="3265.81,-3184.68 3265.81,-3486.68 3630.81,-3486.68 3630.81,-3184.68 3265.81,-3184.68"/>
</g>
<!-- recognition_status -->
<g id="recognition_status" class="node">
<title>recognition_status</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="2811.98" cy="-4172.68" rx="289.83" ry="384.83"/>
<polygon fill="#29235c" stroke="transparent" points="2608.98,-4382.68 2608.98,-4442.68 3014.98,-4442.68 3014.98,-4382.68 2608.98,-4382.68"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4382.68 2608.98,-4442.68 3014.98,-4442.68 3014.98,-4382.68 2608.98,-4382.68"/>
<text text-anchor="start" x="2619.91" y="-4403.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;recognition_status &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4322.68 2608.98,-4382.68 3014.98,-4382.68 3014.98,-4322.68 2608.98,-4322.68"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4322.68 2608.98,-4382.68 3014.98,-4382.68 3014.98,-4322.68 2608.98,-4322.68"/>
<text text-anchor="start" x="2723.04" y="-4343.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;queued &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4262.68 2608.98,-4322.68 3014.98,-4322.68 3014.98,-4262.68 2608.98,-4262.68"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4262.68 2608.98,-4322.68 3014.98,-4322.68 3014.98,-4262.68 2608.98,-4262.68"/>
<text text-anchor="start" x="2707.94" y="-4283.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;published &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4202.68 2608.98,-4262.68 3014.98,-4262.68 3014.98,-4202.68 2608.98,-4202.68"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4202.68 2608.98,-4262.68 3014.98,-4262.68 3014.98,-4202.68 2608.98,-4202.68"/>
<text text-anchor="start" x="2699.06" y="-4223.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;processing &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4142.68 2608.98,-4202.68 3014.98,-4202.68 3014.98,-4142.68 2608.98,-4142.68"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4142.68 2608.98,-4202.68 3014.98,-4202.68 3014.98,-4142.68 2608.98,-4142.68"/>
<text text-anchor="start" x="2740.83" y="-4163.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;done &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4082.68 2608.98,-4142.68 3014.98,-4142.68 3014.98,-4082.68 2608.98,-4082.68"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4082.68 2608.98,-4142.68 3014.98,-4142.68 3014.98,-4082.68 2608.98,-4082.68"/>
<text text-anchor="start" x="2682.14" y="-4103.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;needs_check &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-4022.68 2608.98,-4082.68 3014.98,-4082.68 3014.98,-4022.68 2608.98,-4022.68"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-4022.68 2608.98,-4082.68 3014.98,-4082.68 3014.98,-4022.68 2608.98,-4022.68"/>
<text text-anchor="start" x="2742.64" y="-4043.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;error &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-3962.68 2608.98,-4022.68 3014.98,-4022.68 3014.98,-3962.68 2608.98,-3962.68"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-3962.68 2608.98,-4022.68 3014.98,-4022.68 3014.98,-3962.68 2608.98,-3962.68"/>
<text text-anchor="start" x="2723.95" y="-3983.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;timeout &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2608.98,-3902.68 2608.98,-3962.68 3014.98,-3962.68 3014.98,-3902.68 2608.98,-3902.68"/>
<polygon fill="none" stroke="#29235c" points="2608.98,-3902.68 2608.98,-3962.68 3014.98,-3962.68 3014.98,-3902.68 2608.98,-3902.68"/>
<text text-anchor="start" x="2755.07" y="-3923.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;dlq &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="2607.98,-3901.68 2607.98,-4443.68 3015.98,-4443.68 3015.98,-3901.68 2607.98,-3901.68"/>
</g>
<!-- document_check_result -->
<g id="document_check_result" class="node">
<title>document_check_result</title>
<ellipse fill="none" stroke="black" stroke-width="0" cx="1345.56" cy="-787.68" rx="345.14" ry="172.57"/>
<polygon fill="#29235c" stroke="transparent" points="1103.56,-847.68 1103.56,-907.68 1587.56,-907.68 1587.56,-847.68 1103.56,-847.68"/>
<polygon fill="none" stroke="#29235c" points="1103.56,-847.68 1103.56,-907.68 1587.56,-907.68 1587.56,-847.68 1103.56,-847.68"/>
<text text-anchor="start" x="1114.38" y="-868.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;document_check_result &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1103.56,-787.68 1103.56,-847.68 1587.56,-847.68 1587.56,-787.68 1103.56,-787.68"/>
<polygon fill="none" stroke="#29235c" points="1103.56,-787.68 1103.56,-847.68 1587.56,-847.68 1587.56,-787.68 1103.56,-787.68"/>
<text text-anchor="start" x="1253.12" y="-808.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;MATCH &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1103.56,-727.68 1103.56,-787.68 1587.56,-787.68 1587.56,-727.68 1103.56,-727.68"/>
<polygon fill="none" stroke="#29235c" points="1103.56,-727.68 1103.56,-787.68 1587.56,-787.68 1587.56,-727.68 1103.56,-727.68"/>
<text text-anchor="start" x="1224.68" y="-748.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;MISMATCH &#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1103.56,-667.68 1103.56,-727.68 1587.56,-727.68 1587.56,-667.68 1103.56,-667.68"/>
<polygon fill="none" stroke="#29235c" points="1103.56,-667.68 1103.56,-727.68 1587.56,-727.68 1587.56,-667.68 1103.56,-667.68"/>
<text text-anchor="start" x="1225.57" y="-688.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#1d71b8"> &#160;&#160;&#160;UNKNOWN &#160;&#160;&#160;</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1102.56,-666.68 1102.56,-908.68 1588.56,-908.68 1588.56,-666.68 1102.56,-666.68"/>
</g>
<!-- app_user -->
<g id="app_user" class="node">
<title>app_user</title>
<g id="a_app_user"><a xlink:title="app_user&#10;STUB — полное определение в part02_users_access">
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-87.68" rx="200.22" ry="87.86"/>
<polygon fill="#1d71b8" stroke="transparent" points="1945.43,-87.68 1945.43,-147.68 2224.43,-147.68 2224.43,-87.68 1945.43,-87.68"/>
<polygon fill="none" stroke="#29235c" points="1945.43,-87.68 1945.43,-147.68 2224.43,-147.68 2224.43,-87.68 1945.43,-87.68"/>
<text text-anchor="start" x="1955.98" y="-108.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;app_user &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1945.43,-27.68 1945.43,-87.68 2224.43,-87.68 2224.43,-27.68 1945.43,-27.68"/>
<polygon fill="none" stroke="#29235c" points="1945.43,-27.68 1945.43,-87.68 2224.43,-87.68 2224.43,-27.68 1945.43,-27.68"/>
<text text-anchor="start" x="1956.43" y="-48.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1981.32" y="-48.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2152.96" y="-48.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1943.93,-26.68 1943.93,-148.68 2224.93,-148.68 2224.93,-26.68 1943.93,-26.68"/>
</a>
</g>
</g>
<!-- consolidation -->
<g id="consolidation" class="node">
<title>consolidation</title>
<g id="a_consolidation"><a xlink:title="consolidation&#10;STUB — полное определение в part07_consolidation">
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-280.68" rx="238.09" ry="87.86"/>
<polygon fill="#1d71b8" stroke="transparent" points="1918.43,-280.68 1918.43,-340.68 2251.43,-340.68 2251.43,-280.68 1918.43,-280.68"/>
<polygon fill="none" stroke="#29235c" points="1918.43,-280.68 1918.43,-340.68 2251.43,-340.68 2251.43,-280.68 1918.43,-280.68"/>
<text text-anchor="start" x="1929.32" y="-301.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;consolidation &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1918.43,-220.68 1918.43,-280.68 2251.43,-280.68 2251.43,-220.68 1918.43,-220.68"/>
<polygon fill="none" stroke="#29235c" points="1918.43,-220.68 1918.43,-280.68 2251.43,-280.68 2251.43,-220.68 1918.43,-220.68"/>
<text text-anchor="start" x="1929.43" y="-241.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1954.32" y="-241.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2179.96" y="-241.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1916.93,-219.68 1916.93,-341.68 2251.93,-341.68 2251.93,-219.68 1916.93,-219.68"/>
</a>
</g>
</g>
<!-- legal_entity -->
<g id="legal_entity" class="node">
<title>legal_entity</title>
<g id="a_legal_entity"><a xlink:title="legal_entity&#10;STUB — полное определение в part01_groups_entities">
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-4100.68" rx="220.73" ry="87.86"/>
<polygon fill="#1d71b8" stroke="transparent" points="1930.43,-4100.68 1930.43,-4160.68 2238.43,-4160.68 2238.43,-4100.68 1930.43,-4100.68"/>
<polygon fill="none" stroke="#29235c" points="1930.43,-4100.68 1930.43,-4160.68 2238.43,-4160.68 2238.43,-4100.68 1930.43,-4100.68"/>
<text text-anchor="start" x="1941.27" y="-4121.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;legal_entity &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1930.43,-4040.68 1930.43,-4100.68 2238.43,-4100.68 2238.43,-4040.68 1930.43,-4040.68"/>
<polygon fill="none" stroke="#29235c" points="1930.43,-4040.68 1930.43,-4100.68 2238.43,-4100.68 2238.43,-4040.68 1930.43,-4040.68"/>
<text text-anchor="start" x="1941.43" y="-4061.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1966.32" y="-4061.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2166.96" y="-4061.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1929.43,-4039.68 1929.43,-4161.68 2239.43,-4161.68 2239.43,-4039.68 1929.43,-4039.68"/>
</a>
</g>
</g>
<!-- s3_object -->
<g id="s3_object" class="node">
<title>s3_object</title>
<g id="a_s3_object"><a xlink:title="s3_object&#10;Реестр объектов S3. stored_file / recognition_job ссылаются сюда FK">
<ellipse fill="none" stroke="black" stroke-width="0" cx="2811.98" cy="-3215.68" rx="340.65" ry="554.24"/>
<polygon fill="#1d71b8" stroke="transparent" points="2572.98,-3545.68 2572.98,-3605.68 3050.98,-3605.68 3050.98,-3545.68 2572.98,-3545.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3545.68 2572.98,-3605.68 3050.98,-3605.68 3050.98,-3545.68 2572.98,-3545.68"/>
<text text-anchor="start" x="2681.26" y="-3566.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;s3_object &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3485.68 2572.98,-3545.68 3050.98,-3545.68 3050.98,-3485.68 2572.98,-3485.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3485.68 2572.98,-3545.68 3050.98,-3545.68 3050.98,-3485.68 2572.98,-3485.68"/>
<text text-anchor="start" x="2583.98" y="-3506.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="2608.87" y="-3506.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2979.51" y="-3506.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3425.68 2572.98,-3485.68 3050.98,-3485.68 3050.98,-3425.68 2572.98,-3425.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3425.68 2572.98,-3485.68 3050.98,-3485.68 3050.98,-3425.68 2572.98,-3425.68"/>
<text text-anchor="start" x="2583.5" y="-3445.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">bucket_role &#160;&#160;&#160;</text>
<text text-anchor="start" x="2783.95" y="-3446.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">s3_bucket_role</text>
<text text-anchor="start" x="3000.91" y="-3446.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3009.8" y="-3446.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3365.68 2572.98,-3425.68 3050.98,-3425.68 3050.98,-3365.68 2572.98,-3365.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3365.68 2572.98,-3425.68 3050.98,-3425.68 3050.98,-3365.68 2572.98,-3365.68"/>
<text text-anchor="start" x="2583.98" y="-3385.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">bucket &#160;&#160;&#160;</text>
<text text-anchor="start" x="2894.21" y="-3386.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="3000.89" y="-3386.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3009.78" y="-3386.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3305.68 2572.98,-3365.68 3050.98,-3365.68 3050.98,-3305.68 2572.98,-3305.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3305.68 2572.98,-3365.68 3050.98,-3365.68 3050.98,-3305.68 2572.98,-3305.68"/>
<text text-anchor="start" x="2583.98" y="-3325.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">key &#160;&#160;&#160;</text>
<text text-anchor="start" x="2894.21" y="-3326.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="3000.89" y="-3326.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3009.78" y="-3326.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3245.68 2572.98,-3305.68 3050.98,-3305.68 3050.98,-3245.68 2572.98,-3245.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3245.68 2572.98,-3305.68 3050.98,-3305.68 3050.98,-3245.68 2572.98,-3245.68"/>
<text text-anchor="start" x="2583.98" y="-3265.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">content_type &#160;&#160;&#160;</text>
<text text-anchor="start" x="2933.3" y="-3266.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3185.68 2572.98,-3245.68 3050.98,-3245.68 3050.98,-3185.68 2572.98,-3185.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3185.68 2572.98,-3245.68 3050.98,-3245.68 3050.98,-3185.68 2572.98,-3185.68"/>
<text text-anchor="start" x="2583.98" y="-3205.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">size_bytes &#160;&#160;&#160;</text>
<text text-anchor="start" x="2963.52" y="-3206.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">bigint</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3125.68 2572.98,-3185.68 3050.98,-3185.68 3050.98,-3125.68 2572.98,-3125.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3125.68 2572.98,-3185.68 3050.98,-3185.68 3050.98,-3125.68 2572.98,-3125.68"/>
<text text-anchor="start" x="2583.98" y="-3145.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">sha256 &#160;&#160;&#160;</text>
<text text-anchor="start" x="2933.3" y="-3146.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3065.68 2572.98,-3125.68 3050.98,-3125.68 3050.98,-3065.68 2572.98,-3065.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3065.68 2572.98,-3125.68 3050.98,-3125.68 3050.98,-3065.68 2572.98,-3065.68"/>
<text text-anchor="start" x="2583.98" y="-3085.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">version_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2933.3" y="-3086.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-3005.68 2572.98,-3065.68 3050.98,-3065.68 3050.98,-3005.68 2572.98,-3005.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-3005.68 2572.98,-3065.68 3050.98,-3065.68 3050.98,-3005.68 2572.98,-3005.68"/>
<text text-anchor="start" x="2583.98" y="-3025.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">created_by &#160;&#160;&#160;</text>
<text text-anchor="start" x="2933.3" y="-3026.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-2945.68 2572.98,-3005.68 3050.98,-3005.68 3050.98,-2945.68 2572.98,-2945.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-2945.68 2572.98,-3005.68 3050.98,-3005.68 3050.98,-2945.68 2572.98,-2945.68"/>
<text text-anchor="start" x="2583.98" y="-2965.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">created_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2828.43" y="-2966.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<text text-anchor="start" x="3000.89" y="-2966.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="3009.78" y="-2966.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-2885.68 2572.98,-2945.68 3050.98,-2945.68 3050.98,-2885.68 2572.98,-2885.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-2885.68 2572.98,-2945.68 3050.98,-2945.68 3050.98,-2885.68 2572.98,-2885.68"/>
<text text-anchor="start" x="2583.98" y="-2905.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">expires_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2867.53" y="-2906.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="2572.98,-2825.68 2572.98,-2885.68 3050.98,-2885.68 3050.98,-2825.68 2572.98,-2825.68"/>
<polygon fill="none" stroke="#29235c" points="2572.98,-2825.68 2572.98,-2885.68 3050.98,-2885.68 3050.98,-2825.68 2572.98,-2825.68"/>
<text text-anchor="start" x="2583.98" y="-2845.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">archived_to &#160;&#160;&#160;</text>
<text text-anchor="start" x="2933.3" y="-2846.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="2571.98,-2824.68 2571.98,-3606.68 3051.98,-3606.68 3051.98,-2824.68 2571.98,-2824.68"/>
</a>
</g>
</g>
<!-- s3_object&#45;&gt;s3_bucket_role -->
<g id="edge23" class="edge">
<title>s3_object:e&#45;&gt;s3_bucket_role:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M3051.98,-3455.68C3147.24,-3455.68 3171.05,-3455.68 3266.31,-3455.68"/>
</g>
<!-- stored_file -->
<g id="stored_file" class="node">
<title>stored_file</title>
<g id="a_stored_file"><a xlink:title="stored_file&#10;v5.13: физический файл одной загрузки (S3 — только ссылка). Что внутри — document (1:N). Первичка не редактируется. Удаление физическое запрещено после INITIATED — только SUPERSEDED (ANL&#45;020). v5.18: consolidation_id — где загружен; что использует версия — consolidation_document">
<ellipse fill="none" stroke="black" stroke-width="0" cx="1345.56" cy="-3125.68" rx="352.28" ry="681.8"/>
<polygon fill="#1d71b8" stroke="transparent" points="1098.56,-3545.68 1098.56,-3605.68 1592.56,-3605.68 1592.56,-3545.68 1098.56,-3545.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3545.68 1098.56,-3605.68 1592.56,-3605.68 1592.56,-3545.68 1098.56,-3545.68"/>
<text text-anchor="start" x="1209.52" y="-3566.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;stored_file &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3485.68 1098.56,-3545.68 1592.56,-3545.68 1592.56,-3485.68 1098.56,-3485.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3485.68 1098.56,-3545.68 1592.56,-3545.68 1592.56,-3485.68 1098.56,-3485.68"/>
<text text-anchor="start" x="1109.56" y="-3506.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1134.45" y="-3506.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="1521.09" y="-3506.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3425.68 1098.56,-3485.68 1592.56,-3485.68 1592.56,-3425.68 1098.56,-3425.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3425.68 1098.56,-3485.68 1592.56,-3485.68 1592.56,-3425.68 1098.56,-3425.68"/>
<text text-anchor="start" x="1109.56" y="-3445.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">legal_entity_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1482" y="-3446.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="1542.47" y="-3446.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1551.36" y="-3446.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3365.68 1098.56,-3425.68 1592.56,-3425.68 1592.56,-3365.68 1098.56,-3365.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3365.68 1098.56,-3425.68 1592.56,-3425.68 1592.56,-3365.68 1098.56,-3365.68"/>
<text text-anchor="start" x="1109.56" y="-3385.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">file_type &#160;&#160;&#160;</text>
<text text-anchor="start" x="1423.33" y="-3386.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">file_type</text>
<text text-anchor="start" x="1542.47" y="-3386.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1551.36" y="-3386.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3305.68 1098.56,-3365.68 1592.56,-3365.68 1592.56,-3305.68 1098.56,-3305.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3305.68 1098.56,-3365.68 1592.56,-3365.68 1592.56,-3305.68 1098.56,-3305.68"/>
<text text-anchor="start" x="1109.56" y="-3325.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">original_name &#160;&#160;&#160;</text>
<text text-anchor="start" x="1474.89" y="-3326.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3245.68 1098.56,-3305.68 1592.56,-3305.68 1592.56,-3245.68 1098.56,-3245.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3245.68 1098.56,-3305.68 1592.56,-3305.68 1592.56,-3245.68 1098.56,-3245.68"/>
<text text-anchor="start" x="1109.56" y="-3265.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">s3_object_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1482" y="-3266.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="1542.47" y="-3266.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1551.36" y="-3266.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3185.68 1098.56,-3245.68 1592.56,-3245.68 1592.56,-3185.68 1098.56,-3185.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3185.68 1098.56,-3245.68 1592.56,-3245.68 1592.56,-3185.68 1098.56,-3185.68"/>
<text text-anchor="start" x="1109.56" y="-3205.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">content_hash &#160;&#160;&#160;</text>
<text text-anchor="start" x="1474.89" y="-3206.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3125.68 1098.56,-3185.68 1592.56,-3185.68 1592.56,-3125.68 1098.56,-3125.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3125.68 1098.56,-3185.68 1592.56,-3185.68 1592.56,-3125.68 1098.56,-3125.68"/>
<text text-anchor="start" x="1109.56" y="-3145.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">size_bytes &#160;&#160;&#160;</text>
<text text-anchor="start" x="1505.1" y="-3146.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">bigint</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3065.68 1098.56,-3125.68 1592.56,-3125.68 1592.56,-3065.68 1098.56,-3065.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3065.68 1098.56,-3125.68 1592.56,-3125.68 1592.56,-3065.68 1098.56,-3065.68"/>
<text text-anchor="start" x="1109.56" y="-3085.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">status &#160;&#160;&#160;</text>
<text text-anchor="start" x="1398.44" y="-3086.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">file_status</text>
<text text-anchor="start" x="1542.47" y="-3086.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1551.36" y="-3086.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-3005.68 1098.56,-3065.68 1592.56,-3065.68 1592.56,-3005.68 1098.56,-3005.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-3005.68 1098.56,-3065.68 1592.56,-3065.68 1592.56,-3005.68 1098.56,-3005.68"/>
<text text-anchor="start" x="1109.56" y="-3025.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">version_no &#160;&#160;&#160;</text>
<text text-anchor="start" x="1508.69" y="-3026.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<text text-anchor="start" x="1542.47" y="-3026.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="1551.36" y="-3026.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-2945.68 1098.56,-3005.68 1592.56,-3005.68 1592.56,-2945.68 1098.56,-2945.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-2945.68 1098.56,-3005.68 1592.56,-3005.68 1592.56,-2945.68 1098.56,-2945.68"/>
<text text-anchor="start" x="1109.56" y="-2965.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">superseded_by_file_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1521.09" y="-2966.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-2885.68 1098.56,-2945.68 1592.56,-2945.68 1592.56,-2885.68 1098.56,-2885.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-2885.68 1098.56,-2945.68 1592.56,-2945.68 1592.56,-2885.68 1098.56,-2885.68"/>
<text text-anchor="start" x="1109.29" y="-2905.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">current_recognition_job_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1521.33" y="-2906.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-2825.68 1098.56,-2885.68 1592.56,-2885.68 1592.56,-2825.68 1098.56,-2825.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-2825.68 1098.56,-2885.68 1592.56,-2885.68 1592.56,-2825.68 1098.56,-2825.68"/>
<text text-anchor="start" x="1109.56" y="-2845.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">uploaded_by &#160;&#160;&#160;</text>
<text text-anchor="start" x="1521.09" y="-2846.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-2765.68 1098.56,-2825.68 1592.56,-2825.68 1592.56,-2765.68 1098.56,-2765.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-2765.68 1098.56,-2825.68 1592.56,-2825.68 1592.56,-2765.68 1098.56,-2765.68"/>
<text text-anchor="start" x="1109.56" y="-2785.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">uploaded_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="1409.11" y="-2786.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-2705.68 1098.56,-2765.68 1592.56,-2765.68 1592.56,-2705.68 1098.56,-2705.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-2705.68 1098.56,-2765.68 1592.56,-2765.68 1592.56,-2705.68 1098.56,-2705.68"/>
<text text-anchor="start" x="1109.56" y="-2725.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">updated_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="1409.11" y="-2726.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1098.56,-2645.68 1098.56,-2705.68 1592.56,-2705.68 1592.56,-2645.68 1098.56,-2645.68"/>
<polygon fill="none" stroke="#29235c" points="1098.56,-2645.68 1098.56,-2705.68 1592.56,-2705.68 1592.56,-2645.68 1098.56,-2645.68"/>
<text text-anchor="start" x="1109.56" y="-2665.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">consolidation_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="1521.09" y="-2666.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1097.56,-2644.68 1097.56,-3606.68 1593.56,-3606.68 1593.56,-2644.68 1097.56,-2644.68"/>
</a>
</g>
</g>
<!-- stored_file&#45;&gt;file_type -->
<g id="edge24" class="edge">
<title>stored_file:e&#45;&gt;file_type:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-3395.68C1809.47,-3395.68 1681.63,-2644.99 1697.7,-2429.68 1704.85,-2333.86 1684.4,-1648.15 1733.7,-1565.68 1791.41,-1469.14 1838.95,-1436.68 1951.43,-1436.68"/>
</g>
<!-- stored_file&#45;&gt;file_status -->
<g id="edge25" class="edge">
<title>stored_file:e&#45;&gt;file_status:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-3095.68C1743.36,-3095.68 1684.32,-2578.88 1697.7,-2429.68 1705.22,-2345.83 1692.01,-987.82 1733.7,-914.68 1783.98,-826.49 1825.91,-793.68 1927.43,-793.68"/>
</g>
<!-- stored_file&#45;&gt;app_user -->
<!-- stored_file&#45;&gt;app_user -->
<g id="edge10" class="edge">
<title>stored_file:e&#45;&gt;app_user:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-2855.68C1788.47,-2855.68 1672.84,-2623 1697.7,-2429.68 1713.62,-2305.91 1671.26,-291.73 1733.7,-183.68 1786.59,-92.15 1832.36,-59.71 1934.38,-57.77"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1934.46,-61.27 1944.43,-57.68 1934.39,-54.27 1934.46,-61.27"/>
<text text-anchor="middle" x="1935.53" y="-28.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1587.34" y="-2865.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- stored_file&#45;&gt;consolidation -->
<!-- stored_file&#45;&gt;consolidation -->
<g id="edge12" class="edge">
<title>stored_file:e&#45;&gt;consolidation:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-2675.68C1712.29,-2675.68 1673.07,-2545.82 1697.7,-2429.68 1721.36,-2318.14 1679.86,-478.19 1733.7,-377.68 1778.92,-293.25 1815.51,-253.52 1907.18,-250.83"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1907.48,-254.32 1917.43,-250.68 1907.38,-247.33 1907.48,-254.32"/>
<text text-anchor="middle" x="1908.53" y="-221.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1587.34" y="-2685.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- stored_file&#45;&gt;legal_entity -->
<!-- stored_file&#45;&gt;legal_entity -->
<g id="edge2" class="edge">
<title>stored_file:e&#45;&gt;legal_entity:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-3455.68C1842.8,-3455.68 1566.48,-3813.86 1733.7,-3998.68 1793.58,-4064.86 1833.68,-4070.35 1919.32,-4070.66"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1919.42,-4074.16 1929.43,-4070.68 1919.43,-4067.16 1919.42,-4074.16"/>
<text text-anchor="middle" x="1920.53" y="-4080.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1587.34" y="-3465.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- stored_file&#45;&gt;s3_object -->
<!-- stored_file&#45;&gt;s3_object -->
<g id="edge4" class="edge">
<title>stored_file:e&#45;&gt;s3_object:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-3275.68C1782.98,-3275.68 1683.81,-2618.59 1697.7,-2429.68 1700.72,-2388.61 1704.23,-976.44 1733.7,-947.68 1761.59,-920.46 2406.87,-920.87 2435.15,-947.68 2639.97,-1141.88 2294.85,-3458.11 2561.8,-3514.63"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="2561.67,-3518.13 2571.98,-3515.68 2562.39,-3511.17 2561.67,-3518.13"/>
<text text-anchor="middle" x="2580.87" y="-3525.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1587.34" y="-3285.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- stored_file&#45;&gt;stored_file -->
<!-- stored_file&#45;&gt;stored_file -->
<g id="edge6" class="edge">
<title>stored_file:e&#45;&gt;stored_file:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1592.56,-2975.68C1777.06,-3208.9 1777.06,-3825.33 1345.56,-3825.33 919.12,-3825.33 914.12,-3750.68 1092.15,-3523.82"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1095.12,-3525.7 1098.56,-3515.68 1089.62,-3521.37 1095.12,-3525.7"/>
<text text-anchor="middle" x="1089.67" y="-3525.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1586.34" y="-2985.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- recognition_job -->
<g id="recognition_job" class="node">
<title>recognition_job</title>
<g id="a_recognition_job"><a xlink:title="recognition_job&#10;РЕШЕНИЕ v5.4: единственная точка обмена с NATS. Запись = outbox: создаётся в queued в одной транзакции с stored_file, фоновый публикатор переводит в published (при сбое публикации — повтор по queued старше N сек); результат приходит по NATS, дедуп по result_msg_id UNIQUE; redelivery после max_deliver → status=dlq, replay = сброс в queued с attempt+1. Ядро маппит JSON из S3 в document → osv_entry / financial_statement_*">
<ellipse fill="none" stroke="black" stroke-width="0" cx="2084.43" cy="-2765.68" rx="350.95" ry="1190.54"/>
<polygon fill="#1d71b8" stroke="transparent" points="1838.43,-3545.68 1838.43,-3605.68 2330.43,-3605.68 2330.43,-3545.68 1838.43,-3545.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3545.68 1838.43,-3605.68 2330.43,-3605.68 2330.43,-3545.68 1838.43,-3545.68"/>
<text text-anchor="start" x="1913.7" y="-3566.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;recognition_job &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3485.68 1838.43,-3545.68 2330.43,-3545.68 2330.43,-3485.68 1838.43,-3485.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3485.68 1838.43,-3545.68 2330.43,-3545.68 2330.43,-3485.68 1838.43,-3485.68"/>
<text text-anchor="start" x="1849.43" y="-3506.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="1874.32" y="-3506.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="2258.96" y="-3506.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3425.68 1838.43,-3485.68 2330.43,-3485.68 2330.43,-3425.68 1838.43,-3425.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3425.68 1838.43,-3485.68 2330.43,-3485.68 2330.43,-3425.68 1838.43,-3425.68"/>
<text text-anchor="start" x="1849.43" y="-3445.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">file_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2219.87" y="-3446.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="2280.33" y="-3446.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-3446.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3365.68 1838.43,-3425.68 2330.43,-3425.68 2330.43,-3365.68 1838.43,-3365.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3365.68 1838.43,-3425.68 2330.43,-3425.68 2330.43,-3365.68 1838.43,-3365.68"/>
<text text-anchor="start" x="1849.43" y="-3385.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">pipeline &#160;&#160;&#160;</text>
<text text-anchor="start" x="1995.82" y="-3386.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">recognition_pipeline</text>
<text text-anchor="start" x="2280.33" y="-3386.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-3386.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3305.68 1838.43,-3365.68 2330.43,-3365.68 2330.43,-3305.68 1838.43,-3305.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3305.68 1838.43,-3365.68 2330.43,-3365.68 2330.43,-3305.68 1838.43,-3305.68"/>
<text text-anchor="start" x="1849.43" y="-3325.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">request_subject &#160;&#160;&#160;</text>
<text text-anchor="start" x="2173.66" y="-3326.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="2280.33" y="-3326.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-3326.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3245.68 1838.43,-3305.68 2330.43,-3305.68 2330.43,-3245.68 1838.43,-3245.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3245.68 1838.43,-3305.68 2330.43,-3305.68 2330.43,-3245.68 1838.43,-3245.68"/>
<text text-anchor="start" x="1849.43" y="-3265.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">request_msg_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-3266.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3185.68 1838.43,-3245.68 2330.43,-3245.68 2330.43,-3185.68 1838.43,-3185.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3185.68 1838.43,-3245.68 2330.43,-3245.68 2330.43,-3185.68 1838.43,-3185.68"/>
<text text-anchor="start" x="1849.43" y="-3205.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">result_msg_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-3206.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3125.68 1838.43,-3185.68 2330.43,-3185.68 2330.43,-3125.68 1838.43,-3125.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3125.68 1838.43,-3185.68 2330.43,-3185.68 2330.43,-3125.68 1838.43,-3125.68"/>
<text text-anchor="start" x="1849.43" y="-3145.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">schema_version &#160;&#160;&#160;</text>
<text text-anchor="start" x="2173.66" y="-3146.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<text text-anchor="start" x="2280.33" y="-3146.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-3146.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3065.68 1838.43,-3125.68 2330.43,-3125.68 2330.43,-3065.68 1838.43,-3065.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3065.68 1838.43,-3125.68 2330.43,-3125.68 2330.43,-3065.68 1838.43,-3065.68"/>
<text text-anchor="start" x="1849.43" y="-3085.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">service_name &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-3086.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-3005.68 1838.43,-3065.68 2330.43,-3065.68 2330.43,-3005.68 1838.43,-3005.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-3005.68 1838.43,-3065.68 2330.43,-3065.68 2330.43,-3005.68 1838.43,-3005.68"/>
<text text-anchor="start" x="1849.43" y="-3025.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">service_version &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-3026.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2945.68 1838.43,-3005.68 2330.43,-3005.68 2330.43,-2945.68 1838.43,-2945.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2945.68 1838.43,-3005.68 2330.43,-3005.68 2330.43,-2945.68 1838.43,-2945.68"/>
<text text-anchor="start" x="1849.43" y="-2965.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">status &#160;&#160;&#160;</text>
<text text-anchor="start" x="2020.7" y="-2966.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">recognition_status</text>
<text text-anchor="start" x="2280.33" y="-2966.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-2966.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2885.68 1838.43,-2945.68 2330.43,-2945.68 2330.43,-2885.68 1838.43,-2885.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2885.68 1838.43,-2945.68 2330.43,-2945.68 2330.43,-2885.68 1838.43,-2885.68"/>
<text text-anchor="start" x="1849.43" y="-2905.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">attempt &#160;&#160;&#160;</text>
<text text-anchor="start" x="2171.91" y="-2906.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">smallint</text>
<text text-anchor="start" x="2280.33" y="-2906.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-2906.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2825.68 1838.43,-2885.68 2330.43,-2885.68 2330.43,-2825.68 1838.43,-2825.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2825.68 1838.43,-2885.68 2330.43,-2885.68 2330.43,-2825.68 1838.43,-2825.68"/>
<text text-anchor="start" x="1849.43" y="-2845.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">max_attempts &#160;&#160;&#160;</text>
<text text-anchor="start" x="2171.91" y="-2846.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">smallint</text>
<text text-anchor="start" x="2280.33" y="-2846.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="2289.23" y="-2846.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2765.68 1838.43,-2825.68 2330.43,-2825.68 2330.43,-2765.68 1838.43,-2765.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2765.68 1838.43,-2825.68 2330.43,-2825.68 2330.43,-2765.68 1838.43,-2765.68"/>
<text text-anchor="start" x="1849.43" y="-2785.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">requested_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2146.97" y="-2786.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2705.68 1838.43,-2765.68 2330.43,-2765.68 2330.43,-2705.68 1838.43,-2705.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2705.68 1838.43,-2765.68 2330.43,-2765.68 2330.43,-2705.68 1838.43,-2705.68"/>
<text text-anchor="start" x="1849.43" y="-2725.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">published_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2146.97" y="-2726.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2645.68 1838.43,-2705.68 2330.43,-2705.68 2330.43,-2645.68 1838.43,-2645.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2645.68 1838.43,-2705.68 2330.43,-2705.68 2330.43,-2645.68 1838.43,-2645.68"/>
<text text-anchor="start" x="1849.43" y="-2665.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">started_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2146.97" y="-2666.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2585.68 1838.43,-2645.68 2330.43,-2645.68 2330.43,-2585.68 1838.43,-2585.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2585.68 1838.43,-2645.68 2330.43,-2645.68 2330.43,-2585.68 1838.43,-2585.68"/>
<text text-anchor="start" x="1849.43" y="-2605.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">finished_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="2146.97" y="-2606.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2525.68 1838.43,-2585.68 2330.43,-2585.68 2330.43,-2525.68 1838.43,-2525.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2525.68 1838.43,-2585.68 2330.43,-2585.68 2330.43,-2525.68 1838.43,-2525.68"/>
<text text-anchor="start" x="1849.43" y="-2545.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">reply_deadline &#160;&#160;&#160;</text>
<text text-anchor="start" x="2146.97" y="-2546.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2465.68 1838.43,-2525.68 2330.43,-2525.68 2330.43,-2465.68 1838.43,-2465.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2465.68 1838.43,-2525.68 2330.43,-2525.68 2330.43,-2465.68 1838.43,-2465.68"/>
<text text-anchor="start" x="1849.43" y="-2485.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">external_task_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-2486.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2405.68 1838.43,-2465.68 2330.43,-2465.68 2330.43,-2405.68 1838.43,-2405.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2405.68 1838.43,-2465.68 2330.43,-2465.68 2330.43,-2405.68 1838.43,-2405.68"/>
<text text-anchor="start" x="1849.43" y="-2425.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">error_code &#160;&#160;&#160;</text>
<text text-anchor="start" x="2212.75" y="-2426.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2345.68 1838.43,-2405.68 2330.43,-2405.68 2330.43,-2345.68 1838.43,-2345.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2345.68 1838.43,-2405.68 2330.43,-2405.68 2330.43,-2345.68 1838.43,-2345.68"/>
<text text-anchor="start" x="1849.43" y="-2365.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">error_message &#160;&#160;&#160;</text>
<text text-anchor="start" x="2267.85" y="-2366.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">text</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2285.68 1838.43,-2345.68 2330.43,-2345.68 2330.43,-2285.68 1838.43,-2285.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2285.68 1838.43,-2345.68 2330.43,-2345.68 2330.43,-2285.68 1838.43,-2285.68"/>
<text text-anchor="start" x="1849.43" y="-2305.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">result_s3_object_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="2258.96" y="-2306.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2225.68 1838.43,-2285.68 2330.43,-2285.68 2330.43,-2225.68 1838.43,-2225.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2225.68 1838.43,-2285.68 2330.43,-2285.68 2330.43,-2225.68 1838.43,-2225.68"/>
<text text-anchor="start" x="1849.17" y="-2245.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">result_schema_version &#160;&#160;&#160;</text>
<text text-anchor="start" x="2213.09" y="-2246.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2165.68 1838.43,-2225.68 2330.43,-2225.68 2330.43,-2165.68 1838.43,-2165.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2165.68 1838.43,-2225.68 2330.43,-2225.68 2330.43,-2165.68 1838.43,-2165.68"/>
<text text-anchor="start" x="1849.43" y="-2185.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">group_schema &#160;&#160;&#160;</text>
<text text-anchor="start" x="2242.96" y="-2186.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">jsonb</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2105.68 1838.43,-2165.68 2330.43,-2165.68 2330.43,-2105.68 1838.43,-2105.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2105.68 1838.43,-2165.68 2330.43,-2165.68 2330.43,-2105.68 1838.43,-2105.68"/>
<text text-anchor="start" x="1849.43" y="-2125.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">metrics &#160;&#160;&#160;</text>
<text text-anchor="start" x="2242.96" y="-2126.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">jsonb</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-2045.68 1838.43,-2105.68 2330.43,-2105.68 2330.43,-2045.68 1838.43,-2045.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-2045.68 1838.43,-2105.68 2330.43,-2105.68 2330.43,-2045.68 1838.43,-2045.68"/>
<text text-anchor="start" x="1849.43" y="-2065.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">fields_total &#160;&#160;&#160;</text>
<text text-anchor="start" x="2285.64" y="-2066.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-1985.68 1838.43,-2045.68 2330.43,-2045.68 2330.43,-1985.68 1838.43,-1985.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-1985.68 1838.43,-2045.68 2330.43,-2045.68 2330.43,-1985.68 1838.43,-1985.68"/>
<text text-anchor="start" x="1849.43" y="-2005.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">fields_low_confidence &#160;&#160;&#160;</text>
<text text-anchor="start" x="2285.64" y="-2006.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<polygon fill="#e7e2dd" stroke="transparent" points="1838.43,-1925.68 1838.43,-1985.68 2330.43,-1985.68 2330.43,-1925.68 1838.43,-1925.68"/>
<polygon fill="none" stroke="#29235c" points="1838.43,-1925.68 1838.43,-1985.68 2330.43,-1985.68 2330.43,-1925.68 1838.43,-1925.68"/>
<text text-anchor="start" x="1849.43" y="-1945.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">fields_unrecognized &#160;&#160;&#160;</text>
<text text-anchor="start" x="2285.64" y="-1946.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">int</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="1837.43,-1924.68 1837.43,-3606.68 2331.43,-3606.68 2331.43,-1924.68 1837.43,-1924.68"/>
</a>
</g>
</g>
<!-- stored_file&#45;&gt;recognition_job -->
<!-- stored_file&#45;&gt;recognition_job -->
<g id="edge8" class="edge">
<title>stored_file:e&#45;&gt;recognition_job:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M1593.56,-2915.68C1877.9,-2915.68 1557.58,-3501.12 1827.16,-3515.42"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1827.34,-3518.92 1837.43,-3515.68 1827.52,-3511.92 1827.34,-3518.92"/>
<text text-anchor="middle" x="1828.53" y="-3525.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="1587.34" y="-2925.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- document -->
<g id="document" class="node">
<title>document</title>
<g id="a_document"><a xlink:title="document&#10;Логический документ внутри файла. Создаётся ядром при маппинге результата recognition_job. Разобранные данные: OSV → osv_entry; BALANCE/INCOME → financial_statement_meta. Счётчики «исправлено полей» — COUNT(is_modified) по данным, не хранятся">
<ellipse fill="none" stroke="black" stroke-width="0" cx="478.71" cy="-3065.68" rx="478.92" ry="766.51"/>
<polygon fill="#1d71b8" stroke="transparent" points="142.71,-3545.68 142.71,-3605.68 815.71,-3605.68 815.71,-3545.68 142.71,-3545.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-3545.68 142.71,-3605.68 815.71,-3605.68 815.71,-3545.68 142.71,-3545.68"/>
<text text-anchor="start" x="346.72" y="-3566.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#ffffff"> &#160;&#160;&#160;&#160;&#160;&#160;document &#160;&#160;&#160;&#160;&#160;&#160;</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-3485.68 142.71,-3545.68 815.71,-3545.68 815.71,-3485.68 142.71,-3485.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-3485.68 142.71,-3545.68 815.71,-3545.68 815.71,-3485.68 142.71,-3485.68"/>
<text text-anchor="start" x="153.71" y="-3506.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">id</text>
<text text-anchor="start" x="178.6" y="-3506.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> &#160;&#160;&#160;</text>
<text text-anchor="start" x="744.24" y="-3506.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-3425.68 142.71,-3485.68 815.71,-3485.68 815.71,-3425.68 142.71,-3425.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-3425.68 142.71,-3485.68 815.71,-3485.68 815.71,-3425.68 142.71,-3425.68"/>
<text text-anchor="start" x="153.71" y="-3445.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">stored_file_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="705.15" y="-3446.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="765.62" y="-3446.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="774.51" y="-3446.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-3365.68 142.71,-3425.68 815.71,-3425.68 815.71,-3365.68 142.71,-3365.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-3365.68 142.71,-3425.68 815.71,-3425.68 815.71,-3365.68 142.71,-3365.68"/>
<text text-anchor="start" x="153.71" y="-3385.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">legal_entity_id &#160;&#160;&#160;</text>
<text text-anchor="start" x="705.15" y="-3386.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<text text-anchor="start" x="765.62" y="-3386.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="774.51" y="-3386.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-3305.68 142.71,-3365.68 815.71,-3365.68 815.71,-3305.68 142.71,-3305.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-3305.68 142.71,-3365.68 815.71,-3365.68 815.71,-3305.68 142.71,-3305.68"/>
<text text-anchor="start" x="153.71" y="-3325.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">document_type &#160;&#160;&#160;</text>
<text text-anchor="start" x="546.87" y="-3326.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">document_type</text>
<text text-anchor="start" x="765.62" y="-3326.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="774.51" y="-3326.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-3245.68 142.71,-3305.68 815.71,-3305.68 815.71,-3245.68 142.71,-3245.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-3245.68 142.71,-3305.68 815.71,-3305.68 815.71,-3245.68 142.71,-3245.68"/>
<text text-anchor="start" x="153.71" y="-3265.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">osv_account_code &#160;&#160;&#160;</text>
<text text-anchor="start" x="698.04" y="-3266.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-3185.68 142.71,-3245.68 815.71,-3245.68 815.71,-3185.68 142.71,-3185.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-3185.68 142.71,-3245.68 815.71,-3245.68 815.71,-3185.68 142.71,-3185.68"/>
<text text-anchor="start" x="153.71" y="-3205.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">period_year &#160;&#160;&#160;</text>
<text text-anchor="start" x="696.29" y="-3206.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">smallint</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-3125.68 142.71,-3185.68 815.71,-3185.68 815.71,-3125.68 142.71,-3125.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-3125.68 142.71,-3185.68 815.71,-3185.68 815.71,-3125.68 142.71,-3125.68"/>
<text text-anchor="start" x="153.71" y="-3145.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">period_quarter &#160;&#160;&#160;</text>
<text text-anchor="start" x="596.66" y="-3146.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">period_quarter</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-3065.68 142.71,-3125.68 815.71,-3125.68 815.71,-3065.68 142.71,-3065.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-3065.68 142.71,-3125.68 815.71,-3125.68 815.71,-3065.68 142.71,-3065.68"/>
<text text-anchor="start" x="153.71" y="-3085.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">is_cumulative &#160;&#160;&#160;</text>
<text text-anchor="start" x="690.88" y="-3086.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">boolean</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-3005.68 142.71,-3065.68 815.71,-3065.68 815.71,-3005.68 142.71,-3005.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-3005.68 142.71,-3065.68 815.71,-3065.68 815.71,-3005.68 142.71,-3005.68"/>
<text text-anchor="start" x="153.71" y="-3025.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">reporting_date &#160;&#160;&#160;</text>
<text text-anchor="start" x="742.45" y="-3026.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">date</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2945.68 142.71,-3005.68 815.71,-3005.68 815.71,-2945.68 142.71,-2945.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2945.68 142.71,-3005.68 815.71,-3005.68 815.71,-2945.68 142.71,-2945.68"/>
<text text-anchor="start" x="153.71" y="-2965.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">locator &#160;&#160;&#160;</text>
<text text-anchor="start" x="698.04" y="-2966.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">varchar</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2885.68 142.71,-2945.68 815.71,-2945.68 815.71,-2885.68 142.71,-2885.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2885.68 142.71,-2945.68 815.71,-2945.68 815.71,-2885.68 142.71,-2885.68"/>
<text text-anchor="start" x="153.71" y="-2905.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">status &#160;&#160;&#160;</text>
<text text-anchor="start" x="521.98" y="-2906.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">document_status</text>
<text text-anchor="start" x="765.62" y="-2906.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c"> </text>
<text text-anchor="start" x="774.51" y="-2906.88" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="32.00" fill="#29235c">(!)</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2825.68 142.71,-2885.68 815.71,-2885.68 815.71,-2825.68 142.71,-2825.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2825.68 142.71,-2885.68 815.71,-2885.68 815.71,-2825.68 142.71,-2825.68"/>
<text text-anchor="start" x="153.71" y="-2845.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">period_check &#160;&#160;&#160;</text>
<text text-anchor="start" x="466.84" y="-2846.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">document_check_result</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2765.68 142.71,-2825.68 815.71,-2825.68 815.71,-2765.68 142.71,-2765.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2765.68 142.71,-2825.68 815.71,-2825.68 815.71,-2765.68 142.71,-2765.68"/>
<text text-anchor="start" x="153.33" y="-2785.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">counterparty_check &#160;&#160;&#160;</text>
<text text-anchor="start" x="467.28" y="-2786.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">document_check_result</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2705.68 142.71,-2765.68 815.71,-2765.68 815.71,-2705.68 142.71,-2705.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2705.68 142.71,-2765.68 815.71,-2765.68 815.71,-2705.68 142.71,-2705.68"/>
<text text-anchor="start" x="153.71" y="-2725.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">confirmed_by &#160;&#160;&#160;</text>
<text text-anchor="start" x="744.24" y="-2726.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">uuid</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2645.68 142.71,-2705.68 815.71,-2705.68 815.71,-2645.68 142.71,-2645.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2645.68 142.71,-2705.68 815.71,-2705.68 815.71,-2645.68 142.71,-2645.68"/>
<text text-anchor="start" x="153.71" y="-2665.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">confirmed_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="632.26" y="-2666.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2585.68 142.71,-2645.68 815.71,-2645.68 815.71,-2585.68 142.71,-2585.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2585.68 142.71,-2645.68 815.71,-2645.68 815.71,-2585.68 142.71,-2585.68"/>
<text text-anchor="start" x="153.71" y="-2605.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">created_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="632.26" y="-2606.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="#e7e2dd" stroke="transparent" points="142.71,-2525.68 142.71,-2585.68 815.71,-2585.68 815.71,-2525.68 142.71,-2525.68"/>
<polygon fill="none" stroke="#29235c" points="142.71,-2525.68 142.71,-2585.68 815.71,-2585.68 815.71,-2525.68 142.71,-2525.68"/>
<text text-anchor="start" x="153.71" y="-2545.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">updated_at &#160;&#160;&#160;</text>
<text text-anchor="start" x="632.26" y="-2546.88" font-family="Helvetica,sans-Serif" font-style="italic" font-size="32.00" fill="#29235c">timestamptz</text>
<polygon fill="none" stroke="#29235c" stroke-width="2" points="141.21,-2524.68 141.21,-3606.68 816.21,-3606.68 816.21,-2524.68 141.21,-2524.68"/>
</a>
</g>
</g>
<!-- document&#45;&gt;document_type -->
<g id="edge26" class="edge">
<title>document:e&#45;&gt;document_type:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-3335.68C1027.95,-3335.68 879.72,-2579.7 993.42,-2401.68 1043.18,-2323.79 1070.13,-2280.68 1162.56,-2280.68"/>
</g>
<!-- document&#45;&gt;period_quarter -->
<g id="edge27" class="edge">
<title>document:e&#45;&gt;period_quarter:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-3155.68C1106.28,-3155.68 833.71,-2106.22 993.42,-1864.68 1043.14,-1789.49 1077.41,-1760.68 1167.56,-1760.68"/>
</g>
<!-- document&#45;&gt;document_status -->
<g id="edge28" class="edge">
<title>document:e&#45;&gt;document_status:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-2915.68C1152.13,-2915.68 818.03,-1702.58 993.42,-1416.68 1037.02,-1345.61 1066.18,-1312.68 1149.56,-1312.68"/>
</g>
<!-- document&#45;&gt;document_check_result -->
<g id="edge29" class="edge">
<title>document:e&#45;&gt;document_check_result:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-2855.68C1260.83,-2855.68 658.44,-877.68 1102.56,-877.68"/>
</g>
<!-- document&#45;&gt;document_check_result -->
<g id="edge30" class="edge">
<title>document:e&#45;&gt;document_check_result:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-2795.68C1247.64,-2795.68 671.63,-877.68 1102.56,-877.68"/>
</g>
<!-- document&#45;&gt;app_user -->
<!-- document&#45;&gt;app_user -->
<g id="edge18" class="edge">
<title>document:e&#45;&gt;app_user:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-2735.68C1054.19,-2735.68 866.19,-806.2 993.42,-605.68 1252.92,-196.7 1453.75,-59.62 1934.11,-57.7"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1934.43,-61.2 1944.43,-57.68 1934.42,-54.2 1934.43,-61.2"/>
<text text-anchor="middle" x="1953.32" y="-28.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="810.49" y="-2745.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- document&#45;&gt;legal_entity -->
<!-- document&#45;&gt;legal_entity -->
<g id="edge16" class="edge">
<title>document:e&#45;&gt;legal_entity:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-3395.68C1027.04,-3395.68 831.59,-3700.34 993.42,-3834.68 1239.04,-4038.58 1399.26,-3862.38 1697.7,-3975.68 1715.02,-3982.26 1716.98,-3988.71 1733.7,-3996.68 1814.54,-4035.21 1834.94,-4068.15 1919.37,-4070.54"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1919.38,-4074.04 1929.43,-4070.68 1919.48,-4067.04 1919.38,-4074.04"/>
<text text-anchor="middle" x="1938.32" y="-4080.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="810.49" y="-3405.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- document&#45;&gt;stored_file -->
<!-- document&#45;&gt;stored_file -->
<g id="edge14" class="edge">
<title>document:e&#45;&gt;stored_file:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M816.71,-3455.68C940.86,-3455.68 968.45,-3512.44 1087.32,-3515.55"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1087.52,-3519.05 1097.56,-3515.68 1087.61,-3512.05 1087.52,-3519.05"/>
<text text-anchor="middle" x="1088.67" y="-3486.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="810.49" y="-3465.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- recognition_job&#45;&gt;recognition_pipeline -->
<g id="edge31" class="edge">
<title>recognition_job:e&#45;&gt;recognition_pipeline:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2331.43,-3395.68C2641.49,-3395.68 2285.91,-4765.68 2595.98,-4765.68"/>
</g>
<!-- recognition_job&#45;&gt;recognition_status -->
<g id="edge32" class="edge">
<title>recognition_job:e&#45;&gt;recognition_status:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2331.43,-2975.68C2512.55,-2975.68 2436.51,-3600.9 2471.15,-3778.68 2526.28,-4061.63 2319.71,-4412.68 2607.98,-4412.68"/>
</g>
<!-- recognition_job&#45;&gt;s3_object -->
<!-- recognition_job&#45;&gt;s3_object -->
<g id="edge22" class="edge">
<title>recognition_job:e&#45;&gt;s3_object:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2331.43,-2315.68C2871.92,-2315.68 2038.73,-3500.5 2561.79,-3515.54"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="2561.93,-3519.04 2571.98,-3515.68 2562.03,-3512.04 2561.93,-3519.04"/>
<text text-anchor="middle" x="2580.87" y="-3486.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="2325.2" y="-2325.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
<!-- recognition_job&#45;&gt;stored_file -->
<!-- recognition_job&#45;&gt;stored_file -->
<g id="edge20" class="edge">
<title>recognition_job:e&#45;&gt;stored_file:w</title>
<path fill="none" stroke="#29235c" stroke-width="3" d="M2331.43,-3455.68C2442.71,-3455.68 2409.19,-3877.84 2330.43,-3956.45 2306.96,-3979.87 1766.63,-3960.26 1733.7,-3956.45 1724.7,-3955.41 1104.2,-3814.42 1098.56,-3807.33 1020.09,-3708.65 970.69,-3526.02 1087.33,-3516.1"/>
<polygon fill="#29235c" stroke="#29235c" stroke-width="3" points="1087.71,-3519.59 1097.56,-3515.68 1087.43,-3512.6 1087.71,-3519.59"/>
<text text-anchor="middle" x="1106.46" y="-3486.88" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">1</text>
<text text-anchor="middle" x="2325.2" y="-3465.28" font-family="Helvetica,sans-Serif" font-size="32.00" fill="#29235c">*</text>
</g>
</g>
</svg>