docs/site/Omron/Statistiche/4-Statistiche-Row-Distribution/index.html

527 lines
22 KiB
HTML
Raw Permalink 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.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
<link rel="canonical" href="/Omron/Statistiche/4-Statistiche-Row-Distribution/">
<meta property="og:title" content="Statistiche Row Distribution | docmd">
<meta property="og:description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
<meta property="og:url" content="/Omron/Statistiche/4-Statistiche-Row-Distribution/">
<meta property="og:site_name" content="docmd">
<meta property="og:image" content="/assets/images/docmd-preview.png">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Statistiche Row Distribution | docmd">
<meta name="twitter:description" content="docmd is a Node.js command-line tool for generating beautiful, lightweight static documentation sites from Markdown files.">
<meta name="twitter:image" content="/assets/images/docmd-preview.png">
<title>Statistiche Row Distribution : docmd</title>
<link rel="shortcut icon" href="../../assets/favicon.ico" type="image/x-icon">
<script>// Source file from the docmd project — https://github.com/mgks/docmd
/*
* Initialize the theme from localStorage
*/
(function() {
try {
const storedTheme = localStorage.getItem('docmd-theme');
if (storedTheme) {
document.documentElement.setAttribute('data-theme', storedTheme);
// Also update highlight CSS link to match the stored theme
const highlightThemeLink = document.getElementById('highlight-theme');
if (highlightThemeLink) {
const baseHref = highlightThemeLink.getAttribute('data-base-href');
if (baseHref) {
const newHref = baseHref + `docmd-highlight-${storedTheme}.css`;
highlightThemeLink.setAttribute('href', newHref);
}
}
}
} catch (e) {
console.error('Error applying theme from localStorage', e);
}
})();</script>
<link rel="stylesheet" href="../../assets/css/docmd-main.css">
<link rel="stylesheet" id="highlight-theme" href="../../assets/css/docmd-highlight-light.css" data-base-href="../../assets/css/">
<link rel="stylesheet" href="../../assets/css/docmd-theme-sky.css">
<!-- Google Analytics GA4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8QVBDQ4KM1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-8QVBDQ4KM1');
</script>
</head>
<body class="sidebar-collapsible"
data-theme="light" data-default-collapsed="false"
data-copy-code-enabled="true">
<aside class="sidebar">
<div class="sidebar-header">
<a href="/" class="logo-link">
<img src="../../assets/images/docmd-logo-light.png" alt="docmd logo" class="logo-light" >
<img src="../../assets/images/docmd-logo-dark.png" alt="docmd logo" class="logo-dark" >
</a>
</div>
<nav class="sidebar-nav" aria-label="Main navigation">
<ul>
<li class="" >
<a href="../../" class="" >
<svg class="lucide-icon icon-home" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8" />
<path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" />
</svg>
<span class="nav-item-title">Welcome</span>
</a>
</li>
<li class="collapsible" data-nav-id="#">
<a href="#" class="" >
<svg class="lucide-icon icon-rocket" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z" />
<path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z" />
<path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0" />
<path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5" />
</svg>
<span class="nav-item-title">Getting Started</span>
<svg class="lucide-icon icon-chevron-right collapse-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="m9 18 6-6-6-6" />
</svg>
</a>
<ul class="submenu">
<li class="" >
<a href="https://docmd.mgks.dev" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-scroll" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M19 17V5a2 2 0 0 0-2-2H4" />
<path d="M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3" />
</svg>
<span class="nav-item-title">Documentation</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://docmd.mgks.dev/getting-started/installation" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-download" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 15V3" />
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
<path d="m7 10 5 5 5-5" />
</svg>
<span class="nav-item-title">Installation</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://docmd.mgks.dev/getting-started/basic-usage" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-play" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z" />
</svg>
<span class="nav-item-title">Basic Usage</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://docmd.mgks.dev/content" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-layout-template" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="18" height="7" x="3" y="3" rx="1" />
<rect width="9" height="7" x="3" y="14" rx="1" />
<rect width="5" height="7" x="16" y="14" rx="1" />
</svg>
<span class="nav-item-title">Content</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
</ul>
</li>
<li class="" >
<a href="https://github.com/mgks/docmd" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-github" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4" />
<path d="M9 18c-4.51 2-5-2-7-2" />
</svg>
<span class="nav-item-title">GitHub</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
<li class="" >
<a href="https://github.com/sponsors/mgks" class="" target="_blank" rel="noopener">
<svg class="lucide-icon icon-heart" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5" />
</svg>
<span class="nav-item-title">Support the Project</span>
<svg class="lucide-icon icon-external-link nav-external-icon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 3h6v6" />
<path d="M10 14 21 3" />
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
</svg>
</a>
</li>
</ul>
</nav>
</aside>
<div class="main-content-wrapper">
<div class="page-header">
<div class="header-left">
<button id="sidebar-toggle-button" class="sidebar-toggle-button" aria-label="Toggle Sidebar">
<svg class="lucide-icon icon-panel-left-close" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect width="18" height="18" x="3" y="3" rx="2" />
<path d="M9 3v18" />
<path d="m16 15-3-3 3-3" />
</svg>
</button>
<h1>Statistiche Row Distribution</h1>
</div>
<div class="header-right">
<button id="theme-toggle-button" aria-label="Toggle theme" class="theme-toggle-button theme-toggle-header">
<svg class="lucide-icon icon-sun icon-sun" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="4" />
<path d="M12 2v2" />
<path d="M12 20v2" />
<path d="m4.93 4.93 1.41 1.41" />
<path d="m17.66 17.66 1.41 1.41" />
<path d="M2 12h2" />
<path d="M20 12h2" />
<path d="m6.34 17.66-1.41 1.41" />
<path d="m19.07 4.93-1.41 1.41" />
</svg>
<svg class="lucide-icon icon-moon icon-moon" width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" />
</svg>
</button>
</div>
</div>
<main class="content-area">
<div class="content-layout">
<div class="main-content">
<h1 id="strutture-per-le-statistiche-di-produzione">Strutture per le Statistiche di Produzione</h1>
<p>Questa sezione descrive larchitettura dei dati utilizzati per raccogliere e analizzare i conteggi di produzione, specifici per la macchina <strong>Row Distribution</strong>.</p>
<hr>
<h3 id="struttura-st_channeldata">Struttura <code>ST_ChannelData</code></h3>
<p>Questa è la struttura “mattoncino” che contiene tutti i conteggi grezzi e le percentuali calcolate per un <strong>singolo canale</strong> o impilatore.</p>
<table>
<thead>
<tr>
<th style="text-align:left">Nome Variabile</th>
<th style="text-align:left">Tipo Dati</th>
<th style="text-align:left">Descrizione</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><strong>— Conteggi Grezzi —</strong></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
</tr>
<tr>
<td style="text-align:left"><code>PiecesEntered</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Pezzi totali entrati sullimpilatore del canale.</td>
</tr>
<tr>
<td style="text-align:left"><code>Pieces_Stacked</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Prodotti totali impilati da questo canale.</td>
</tr>
<tr>
<td style="text-align:left"><code>Stacks_Sent</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Pile totali inviate con successo da questo canale.</td>
</tr>
<tr>
<td style="text-align:left"><code>StacksRejected</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Pile totali scartate da questo canale.</td>
</tr>
<tr>
<td style="text-align:left"><code>Rejects_Trapdoor</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Pezzi scartati alla botola per questo canale (è il totale degli scarti).</td>
</tr>
<tr>
<td style="text-align:left"><code>Rejects_RecipeMismatch</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Pezzi scartati a causa di ricetta non conforme.</td>
</tr>
<tr>
<td style="text-align:left"><code>Rejects_Jam</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Pezzi scartati a causa di un inceppo nellimpilatore.</td>
</tr>
<tr>
<td style="text-align:left"><code>Rejects_Clump</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Pezzi scartati a causa di ammassi o accumuli.</td>
</tr>
<tr>
<td style="text-align:left"><strong>— Percentuali Calcolate (per canale) —</strong></td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
</tr>
<tr>
<td style="text-align:left"><code>Perc_Rejected_Trapdoor</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">% di pezzi scartati alla botola rispetto al totale entrato.</td>
</tr>
<tr>
<td style="text-align:left"><code>Perc_Pieces_Stacked</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">% di pezzi impilati rispetto al totale entrato.</td>
</tr>
<tr>
<td style="text-align:left"><code>Perc_Stacks_Sent</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">% di pile inviate rispetto al totale pile gestite (inviate + scartate).</td>
</tr>
<tr>
<td style="text-align:left"><code>Perc_Stacks_Rejected</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">% di pile scartate rispetto al totale pile gestite.</td>
</tr>
<tr>
<td style="text-align:left"><code>Perc_Reject_RecipeMismatch</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Ripartizione % degli scarti per “Ricetta non conforme”.</td>
</tr>
<tr>
<td style="text-align:left"><code>Perc_Reject_Clump</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Ripartizione % degli scarti per “Ammassi”.</td>
</tr>
<tr>
<td style="text-align:left"><code>Perc_Reject_Jam</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Ripartizione % degli scarti per “Inceppo”.</td>
</tr>
</tbody>
</table>
<hr>
<h3 id="struttura-st_productiontotals">Struttura <code>ST_ProductionTotals</code></h3>
<p>Questa struttura raggruppa tutti i <strong>conteggi globali</strong> della macchina, ottenuti sommando i dati dei singoli canali o da contatori generali.</p>
<table>
<thead>
<tr>
<th style="text-align:left">Nome Variabile</th>
<th style="text-align:left">Tipo Dati</th>
<th style="text-align:left">Descrizione</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>IncomingRanks</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Ranghi totali inseriti sulla linea di distribuzione.</td>
</tr>
<tr>
<td style="text-align:left"><code>RanksDischarged_Module1</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Ranghi totali scaricati verso la Flowpack 1.</td>
</tr>
<tr>
<td style="text-align:left"><code>RanksDischarged_Module2</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Ranghi totali scaricati verso la Flowpack 2.</td>
</tr>
<tr>
<td style="text-align:left"><code>RanksDischarged_Module3</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Ranghi totali scaricati verso la Flowpack 3.</td>
</tr>
<tr>
<td style="text-align:left"><code>RanksDischarged_Buffer</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Ranghi totali scaricati verso il nastro buffer.</td>
</tr>
<tr>
<td style="text-align:left"><code>TotalStacksSent</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Pile totali inviate ai moduli a valle.</td>
</tr>
<tr>
<td style="text-align:left"><code>StacksOnLastRank</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Numero di pile presenti sullultimo rango caricato.</td>
</tr>
<tr>
<td style="text-align:left"><code>TotalStacksOnStackers</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Numero istantaneo di pile fisicamente presenti su tutti gli impilatori.</td>
</tr>
<tr>
<td style="text-align:left"><code>TotalStacksRejected</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Numero totale di pile scartate.</td>
</tr>
<tr>
<td style="text-align:left"><code>TotalProductsEntered</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Prodotti totali “equivalenti” entrati nella linea.</td>
</tr>
<tr>
<td style="text-align:left"><code>TotalRejectedProducts_Trapdoor</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Prodotti totali scartati alla botola.</td>
</tr>
<tr>
<td style="text-align:left"><code>GrandTotalProductsHandled</code></td>
<td style="text-align:left"><code>DINT</code></td>
<td style="text-align:left">Somma totale di tutti i prodotti gestiti (Entrati + Scartati).</td>
</tr>
</tbody>
</table>
<hr>
<h3 id="struttura-st_productionanalytics">Struttura <code>ST_ProductionAnalytics</code></h3>
<p>Infine, questa è la struttura “contenitore” che unisce i dati dei canali e i totali in un unico blocco logico per la <strong>Row Distribution</strong>.</p>
<table>
<thead>
<tr>
<th style="text-align:left">Nome Variabile</th>
<th style="text-align:left">Tipo Dati</th>
<th style="text-align:left">Descrizione</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>Channels</code></td>
<td style="text-align:left"><code>ARRAY[0..4] OF ST_ChannelData</code></td>
<td style="text-align:left">Un array che contiene i dati dettagliati per ognuno dei 5 canali.</td>
</tr>
<tr>
<td style="text-align:left"><code>Totals</code></td>
<td style="text-align:left"><code>ST_ProductionTotals</code></td>
<td style="text-align:left">La struttura che contiene tutti i conteggi globali della macchina.</td>
</tr>
</tbody>
</table>
</div>
<!-- DEBUG: {"headingsLength":4} -->
<!-- TOC sidebar -->
<div class="toc-sidebar">
<div class="toc-container">
<h2 class="toc-title">On This Page</h2>
<ul class="toc-list">
<li class="toc-item toc-level-3">
<a href="#struttura-st_channeldata" class="toc-link">Struttura ST_ChannelData</a>
</li>
<li class="toc-item toc-level-3">
<a href="#struttura-st_productiontotals" class="toc-link">Struttura ST_ProductionTotals</a>
</li>
<li class="toc-item toc-level-3">
<a href="#struttura-st_productionanalytics" class="toc-link">Struttura ST_ProductionAnalytics</a>
</li>
</ul>
</div>
</div>
</div>
</main>
<footer class="page-footer">
<div class="footer-content">
<div class="user-footer">
© 2025 Project.
</div>
<div class="branding-footer">
Build with <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"></path><path d="M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66"></path><path d="m18 15-2-2"></path><path d="m15 18-2-2"></path></svg> <a href="https://docmd.mgks.dev" target="_blank" rel="noopener">docmd.</a>
</div>
</div>
</footer>
</div>
<script src="../../assets/js/docmd-main.js"></script>
<script src="../../assets/js/docmd-image-lightbox.js"></script>
</body>
</html>