This MVP release provides a complete full-stack solution for managing action mappings in Geutebruck's GeViScope and GeViSoft video surveillance systems. ## Features ### Flutter Web Application (Port 8081) - Modern, responsive UI for managing action mappings - Action picker dialog with full parameter configuration - Support for both GSC (GeViScope) and G-Core server actions - Consistent UI for input and output actions with edit/delete capabilities - Real-time action mapping creation, editing, and deletion - Server categorization (GSC: prefix for GeViScope, G-Core: prefix for G-Core servers) ### FastAPI REST Backend (Port 8000) - RESTful API for action mapping CRUD operations - Action template service with comprehensive action catalog (247 actions) - Server management (G-Core and GeViScope servers) - Configuration tree reading and writing - JWT authentication with role-based access control - PostgreSQL database integration ### C# SDK Bridge (gRPC, Port 50051) - Native integration with GeViSoft SDK (GeViProcAPINET_4_0.dll) - Action mapping creation with correct binary format - Support for GSC and G-Core action types - Proper Camera parameter inclusion in action strings (fixes CrossSwitch bug) - Action ID lookup table with server-specific action IDs - Configuration reading/writing via SetupClient ## Bug Fixes - **CrossSwitch Bug**: GSC and G-Core actions now correctly display camera/PTZ head parameters in GeViSet - Action strings now include Camera parameter: `@ PanLeft (Comment: "", Camera: 101028)` - Proper filter flags and VideoInput=0 for action mappings - Correct action ID assignment (4198 for GSC, 9294 for G-Core PanLeft) ## Technical Stack - **Frontend**: Flutter Web, Dart, Dio HTTP client - **Backend**: Python FastAPI, PostgreSQL, Redis - **SDK Bridge**: C# .NET 8.0, gRPC, GeViSoft SDK - **Authentication**: JWT tokens - **Configuration**: GeViSoft .set files (binary format) ## Credentials - GeViSoft/GeViScope: username=sysadmin, password=masterkey - Default admin: username=admin, password=admin123 ## Deployment All services run on localhost: - Flutter Web: http://localhost:8081 - FastAPI: http://localhost:8000 - SDK Bridge gRPC: localhost:50051 - GeViServer: localhost (default port) Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2 lines
28 KiB
XML
2 lines
28 KiB
XML
<?xml version="1.0" encoding="utf-8"?><index><!-- saved from url=(0014)about:internet -->
|
||
<stem n="(these"><phr n="(these"><ent r="3" t="5" w="1053" /></phr></stem><stem n="don"><phr n="don"><ent r="3" t="5" w="1065" /><ent r="3" t="7" w="2380" /><ent r="5" t="30" w="5372" /></phr></stem><stem n="’t"><phr n="’t"><ent r="3" t="5" w="1066" /><ent r="3" t="7" w="2381" /></phr></stem><stem n="t"><phr n="t"><ent r="3" t="5" w="1066" /><ent r="3" t="7" w="2381" /><ent r="5" t="18" w="684" /><ent r="5" t="18" w="692" /><ent r="5" t="19" w="426" /><ent r="5" t="19" w="479" /><ent r="5" t="19" w="532" /><ent r="5" t="19" w="843" /><ent r="5" t="19" w="896" /><ent r="5" t="19" w="949" /><ent r="3" t="30" w="1962" /><ent r="5" t="30" w="5373" /><ent r="4" t="35" w="160" /></phr></stem><stem n="result"><phr n="result"><ent r="3" t="5" w="1068" /><ent r="3" t="5" w="1193" /><ent r="5" t="19" w="344" /><ent r="5" t="19" w="761" /><ent r="6" t="22" w="130" /><ent r="5" t="31" w="288" /><ent r="3" t="41" w="849" /><ent r="3" t="43" w="112" /></phr><phr n="results"><ent r="3" t="9" w="1200" /></phr><phr n="resulted"><ent r="6" t="22" w="142" /></phr><phr n="resulting"><ent r="3" t="43" w="97" /></phr></stem><stem n="reaction"><phr n="reaction"><ent r="3" t="5" w="1071" /><ent r="3" t="7" w="2436" /><ent r="3" t="40" w="1737" /></phr></stem><stem n="“custom"><phr n="“Custom"><ent r="3" t="5" w="1078" /><ent r="4" t="40" w="958" /></phr></stem><stem n="”)."><phr n="”)."><ent r="3" t="5" w="1080" /><ent r="3" t="5" w="1229" /></phr></stem><stem n="relev"><phr n="relevant"><ent r="3" t="5" w="1098" /></phr></stem><stem n="get"><phr n="get"><ent r="3" t="5" w="1106" /><ent r="3" t="7" w="503" /><ent r="4" t="7" w="558" /><ent r="3" t="7" w="611" /><ent r="3" t="7" w="717" /><ent r="3" t="7" w="865" /><ent r="4" t="7" w="961" /><ent r="3" t="7" w="1271" /><ent r="3" t="7" w="1305" /><ent r="3" t="7" w="1447" /><ent r="4" t="7" w="1567" /><ent r="4" t="7" w="1579" /><ent r="4" t="7" w="1586" /><ent r="4" t="7" w="1599" /><ent r="4" t="7" w="1618" /><ent r="3" t="7" w="1683" /><ent r="4" t="7" w="1748" /><ent r="4" t="7" w="1765" /><ent r="3" t="7" w="1897" /><ent r="3" t="7" w="2077" /><ent r="3" t="9" w="584" /><ent r="3" t="9" w="679" /><ent r="3" t="9" w="1320" /><ent r="3" t="40" w="682" /><ent r="4" t="41" w="264" /></phr><phr n="gets"><ent r="3" t="7" w="2271" /><ent r="3" t="10" w="755" /><ent r="3" t="36" w="16" /><ent r="4" t="40" w="592" /><ent r="4" t="40" w="651" /><ent r="4" t="40" w="659" /></phr><phr n="Getting"><ent r="4" t="41" w="960" /><ent r="4" t="41" w="974" /></phr></stem><stem n="possibl"><phr n="possible"><ent r="3" t="5" w="1129" /><ent r="3" t="8" w="394" /><ent r="3" t="9" w="23" /><ent r="3" t="9" w="75" /><ent r="3" t="9" w="1245" /><ent r="3" t="13" w="1089" /><ent r="3" t="13" w="1421" /><ent r="3" t="26" w="62" /><ent r="6" t="26" w="416" /><ent r="3" t="26" w="451" /><ent r="6" t="26" w="535" /><ent r="3" t="40" w="1739" /><ent r="3" t="40" w="1751" /></phr><phr n="possibilities"><ent r="3" t="7" w="23" /><ent r="3" t="9" w="1219" /><ent r="4" t="41" w="232" /></phr><phr n="possibility"><ent r="3" t="7" w="175" /><ent r="3" t="7" w="200" /><ent r="3" t="10" w="16" /><ent r="3" t="12" w="936" /><ent r="3" t="30" w="1367" /><ent r="3" t="40" w="1715" /><ent r="4" t="41" w="87" /></phr><phr n="possibly"><ent r="3" t="7" w="346" /></phr></stem><stem n="“action"><phr n="“Action"><ent r="3" t="5" w="1154" /><ent r="3" t="40" w="1020" /></phr></stem><stem n="(especi"><phr n="(especially"><ent r="3" t="5" w="1156" /></phr></stem><stem n="awar"><phr n="aware"><ent r="3" t="5" w="1170" /><ent r="3" t="7" w="2502" /></phr></stem><stem n="fact"><phr n="fact"><ent r="3" t="5" w="1173" /><ent r="3" t="7" w="2505" /><ent r="3" t="26" w="124" /></phr><phr n="facts"><ent r="3" t="7" w="532" /><ent r="3" t="7" w="787" /></phr></stem><stem n="asynchron"><phr n="asynchronous"><ent r="3" t="5" w="1180" /></phr></stem><stem n="depend"><phr n="depends"><ent r="3" t="5" w="1190" /><ent r="3" t="18" w="23" /><ent r="3" t="18" w="2159" /><ent r="5" t="18" w="2198" /><ent r="5" t="18" w="2401" /><ent r="5" t="18" w="2517" /></phr><phr n="Depending"><ent r="3" t="9" w="924" /><ent r="3" t="10" w="831" /><ent r="5" t="18" w="1858" /><ent r="5" t="18" w="1919" /><ent r="5" t="18" w="2244" /><ent r="5" t="18" w="2618" /><ent r="5" t="18" w="2711" /><ent r="5" t="18" w="2772" /><ent r="6" t="18" w="2834" /><ent r="3" t="37" w="57" /><ent r="4" t="41" w="925" /></phr><phr n="dependent"><ent r="3" t="40" w="470" /><ent r="6" t="41" w="539" /></phr></stem><stem n="previou"><phr n="previous"><ent r="3" t="5" w="1196" /><ent r="3" t="7" w="781" /><ent r="5" t="30" w="132" /><ent r="5" t="30" w="133" /><ent r="5" t="30" w="391" /><ent r="5" t="30" w="392" /><ent r="5" t="30" w="505" /><ent r="5" t="30" w="506" /><ent r="5" t="30" w="753" /><ent r="5" t="30" w="754" /><ent r="5" t="30" w="867" /><ent r="5" t="30" w="868" /><ent r="5" t="30" w="1125" /><ent r="5" t="30" w="1126" /><ent r="5" t="30" w="2990" /><ent r="5" t="30" w="3539" /><ent r="5" t="30" w="4094" /><ent r="5" t="30" w="4712" /><ent r="5" t="30" w="5168" /></phr></stem><stem n="insert"><phr n="inserting"><ent r="3" t="5" w="1205" /></phr><phr n="insertion"><ent r="5" t="19" w="405" /><ent r="5" t="19" w="423" /><ent r="5" t="19" w="458" /><ent r="5" t="19" w="476" /><ent r="5" t="19" w="511" /><ent r="5" t="19" w="529" /><ent r="5" t="19" w="822" /><ent r="5" t="19" w="840" /><ent r="5" t="19" w="875" /><ent r="5" t="19" w="893" /><ent r="5" t="19" w="928" /><ent r="5" t="19" w="946" /></phr><phr n="inserts"><ent r="3" t="26" w="152" /></phr></stem><stem n="paus"><phr n="pause"><ent r="3" t="5" w="1207" /></phr></stem><stem n="second"><phr n="second"><ent r="3" t="5" w="1212" /><ent r="3" t="5" w="1223" /><ent r="6" t="26" w="1063" /><ent r="6" t="26" w="1085" /><ent r="6" t="26" w="1087" /><ent r="5" t="28" w="153" /><ent r="5" t="28" w="165" /><ent r="5" t="28" w="176" /><ent r="5" t="28" w="188" /><ent r="5" t="28" w="326" /><ent r="5" t="28" w="338" /><ent r="5" t="28" w="349" /><ent r="5" t="28" w="361" /><ent r="5" t="28" w="1083" /><ent r="5" t="28" w="1091" /><ent r="5" t="28" w="1622" /><ent r="5" t="28" w="1630" /><ent r="5" t="28" w="2000" /><ent r="5" t="28" w="2008" /><ent r="5" t="28" w="2121" /><ent r="5" t="28" w="2129" /><ent r="5" t="28" w="2243" /><ent r="5" t="28" w="2251" /><ent r="3" t="34" w="87" /><ent r="3" t="35" w="11" /><ent r="3" t="40" w="1699" /><ent r="6" t="41" w="593" /></phr><phr n="seconds"><ent r="3" t="7" w="2467" /><ent r="3" t="28" w="848" /><ent r="5" t="28" w="1153" /></phr></stem><stem n="(e.g."><phr n="(e.g."><ent r="3" t="5" w="1216" /><ent r="3" t="9" w="1076" /><ent r="3" t="30" w="1185" /><ent r="3" t="30" w="1285" /></phr></stem><stem n="”,"><phr n="”,"><ent r="3" t="5" w="1221" /></phr></stem><stem n="wait"><phr n="wait"><ent r="3" t="5" w="1221" /><ent r="5" t="28" w="191" /><ent r="5" t="28" w="196" /><ent r="5" t="28" w="364" /><ent r="5" t="28" w="369" /><ent r="4" t="36" w="92" /><ent r="4" t="36" w="199" /></phr><phr n="waiting"><ent r="3" t="36" w="75" /></phr><phr n="waits"><ent r="3" t="36" w="146" /></phr></stem><stem n="print"><phr n="print"><ent r="3" t="5" w="1227" /><ent r="92" t="30" w="3668" /><ent r="3" t="30" w="3716" /><ent r="5" t="31" w="197" /><ent r="3" t="52" w="37" /></phr><phr n="printed"><ent r="5" t="25" w="1114" /><ent r="5" t="25" w="1145" /><ent r="5" t="25" w="1176" /><ent r="5" t="25" w="1207" /><ent r="5" t="25" w="1238" /></phr><phr n="prints"><ent r="3" t="30" w="3682" /></phr></stem><stem n="doe"><phr n="does"><ent r="3" t="5" w="1230" /><ent r="3" t="7" w="1123" /><ent r="3" t="10" w="457" /><ent r="6" t="26" w="931" /><ent r="3" t="40" w="1705" /></phr></stem><stem n="input"><phr n="input"><ent r="3" t="5" w="1234" /><ent r="92" t="21" w="18" /><ent r="3" t="21" w="41" /><ent r="3" t="29" w="2524" /><ent r="3" t="33" w="75" /><ent r="3" t="40" w="242" /><ent r="3" t="40" w="271" /><ent r="4" t="40" w="522" /><ent r="3" t="40" w="775" /><ent r="4" t="40" w="867" /><ent r="4" t="41" w="417" /><ent r="92" t="49" w="17" /><ent r="3" t="49" w="41" /><ent r="3" t="51" w="2555" /></phr><phr n="inputs"><ent r="3" t="7" w="2376" /><ent r="3" t="21" w="12" /><ent r="3" t="40" w="316" /><ent r="3" t="40" w="333" /><ent r="3" t="49" w="12" /></phr></stem><stem n="queue"><phr n="queue"><ent r="3" t="5" w="1235" /><ent r="92" t="30" w="38" /><ent r="3" t="30" w="53" /><ent r="3" t="30" w="83" /><ent r="5" t="30" w="120" /><ent r="5" t="30" w="127" /><ent r="5" t="30" w="136" /><ent r="5" t="30" w="146" /><ent r="92" t="30" w="150" /><ent r="3" t="30" w="167" /><ent r="92" t="30" w="254" /><ent r="3" t="30" w="272" /><ent r="3" t="30" w="331" /><ent r="5" t="30" w="379" /><ent r="5" t="30" w="386" /><ent r="5" t="30" w="395" /><ent r="5" t="30" w="405" /><ent r="92" t="30" w="409" /><ent r="3" t="30" w="424" /><ent r="3" t="30" w="446" /><ent r="3" t="30" w="456" /><ent r="5" t="30" w="493" /><ent r="5" t="30" w="500" /><ent r="5" t="30" w="509" /><ent r="5" t="30" w="519" /><ent r="92" t="30" w="523" /><ent r="3" t="30" w="540" /><ent r="3" t="30" w="562" /><ent r="92" t="30" w="623" /><ent r="3" t="30" w="641" /><ent r="3" t="30" w="663" /><ent r="5" t="30" w="741" /><ent r="5" t="30" w="748" /><ent r="5" t="30" w="757" /><ent r="5" t="30" w="767" /><ent r="92" t="30" w="771" /><ent r="3" t="30" w="786" /><ent r="3" t="30" w="806" /><ent r="3" t="30" w="818" /><ent r="5" t="30" w="855" /><ent r="5" t="30" w="862" /><ent r="5" t="30" w="871" /><ent r="5" t="30" w="881" /><ent r="92" t="30" w="885" /><ent r="3" t="30" w="902" /><ent r="3" t="30" w="922" /><ent r="92" t="30" w="985" /><ent r="3" t="30" w="1003" /><ent r="3" t="30" w="1023" /><ent r="3" t="30" w="1065" /><ent r="5" t="30" w="1113" /><ent r="5" t="30" w="1120" /><ent r="5" t="30" w="1129" /><ent r="5" t="30" w="1139" /><ent r="92" t="31" w="473" /><ent r="3" t="31" w="496" /><ent r="3" t="31" w="522" /><ent r="3" t="31" w="547" /><ent r="5" t="31" w="655" /><ent r="5" t="31" w="658" /><ent r="5" t="31" w="679" /><ent r="5" t="31" w="688" /><ent r="5" t="31" w="701" /><ent r="5" t="31" w="713" /><ent r="5" t="31" w="724" /><ent r="92" t="52" w="132" /><ent r="3" t="52" w="152" /></phr></stem><stem n="design"><phr n="designed"><ent r="3" t="6" w="12" /></phr></stem><stem n="codegear"><phr n="CodeGear"><ent r="4" t="6" w="25" /><ent r="4" t="6" w="31" /><ent r="4" t="6" w="37" /><ent r="4" t="6" w="42" /><ent r="4" t="6" w="47" /><ent r="4" t="12" w="26" /><ent r="4" t="12" w="34" /><ent r="4" t="12" w="133" /><ent r="4" t="12" w="141" /><ent r="4" t="12" w="262" /><ent r="4" t="12" w="270" /><ent r="4" t="12" w="384" /><ent r="4" t="12" w="392" /><ent r="4" t="12" w="443" /><ent r="4" t="12" w="490" /><ent r="4" t="12" w="508" /><ent r="4" t="12" w="526" /><ent r="4" t="12" w="566" /><ent r="4" t="12" w="573" /><ent r="4" t="12" w="602" /><ent r="4" t="12" w="620" /><ent r="4" t="12" w="640" /><ent r="4" t="12" w="719" /><ent r="3" t="12" w="825" /><ent r="3" t="12" w="899" /><ent r="4" t="12" w="1000" /><ent r="4" t="12" w="1007" /><ent r="4" t="12" w="1041" /><ent r="4" t="12" w="1064" /><ent r="3" t="13" w="13" /><ent r="3" t="13" w="140" /><ent r="3" t="13" w="208" /></phr></stem><stem n="©"><phr n="©"><ent r="4" t="6" w="29" /><ent r="4" t="6" w="35" /><ent r="4" t="6" w="40" /><ent r="4" t="6" w="45" /><ent r="4" t="6" w="50" /><ent r="4" t="6" w="58" /><ent r="4" t="6" w="66" /><ent r="4" t="6" w="74" /><ent r="4" t="6" w="78" /><ent r="3" t="10" w="414" /><ent r="3" t="10" w="437" /><ent r="3" t="13" w="19" /><ent r="3" t="13" w="214" /><ent r="3" t="13" w="490" /><ent r="3" t="13" w="530" /><ent r="3" t="13" w="566" /><ent r="3" t="13" w="875" /><ent r="3" t="13" w="959" /><ent r="3" t="13" w="1237" /><ent r="3" t="13" w="1291" /><ent r="3" t="13" w="1569" /></phr></stem><stem n="2009"><phr n="2009"><ent r="4" t="6" w="34" /><ent r="4" t="6" w="49" /><ent r="4" t="12" w="31" /><ent r="4" t="12" w="39" /><ent r="4" t="12" w="138" /><ent r="4" t="12" w="146" /><ent r="4" t="12" w="267" /><ent r="4" t="12" w="275" /><ent r="4" t="12" w="389" /><ent r="4" t="12" w="397" /><ent r="4" t="12" w="401" /><ent r="4" t="12" w="448" /><ent r="4" t="12" w="494" /><ent r="4" t="12" w="513" /><ent r="4" t="12" w="531" /><ent r="4" t="12" w="570" /><ent r="4" t="12" w="577" /><ent r="4" t="12" w="606" /><ent r="4" t="12" w="625" /><ent r="4" t="12" w="644" /><ent r="4" t="12" w="724" /><ent r="4" t="12" w="1004" /><ent r="4" t="12" w="1011" /><ent r="4" t="12" w="1043" /><ent r="4" t="12" w="1066" /><ent r="3" t="13" w="18" /><ent r="3" t="13" w="145" /><ent r="3" t="13" w="213" /><ent r="4" t="13" w="422" /><ent r="4" t="13" w="452" /><ent r="5" t="30" w="3657" /><ent r="5" t="31" w="230" /><ent r="5" t="31" w="264" /><ent r="5" t="31" w="1946" /></phr></stem><stem n="2005"><phr n="2005"><ent r="4" t="6" w="44" /><ent r="4" t="6" w="55" /><ent r="4" t="6" w="71" /><ent r="4" t="12" w="37" /><ent r="4" t="12" w="45" /><ent r="4" t="12" w="144" /><ent r="4" t="12" w="152" /><ent r="4" t="12" w="273" /><ent r="4" t="12" w="281" /><ent r="4" t="12" w="395" /><ent r="4" t="12" w="454" /><ent r="3" t="13" w="211" /><ent r="3" t="13" w="487" /><ent r="3" t="13" w="527" /></phr></stem><stem n="studio"><phr n="Studio"><ent r="4" t="6" w="54" /><ent r="4" t="6" w="62" /><ent r="4" t="6" w="70" /><ent r="4" t="9" w="1373" /><ent r="4" t="9" w="1392" /><ent r="4" t="9" w="1408" /><ent r="4" t="9" w="1424" /><ent r="4" t="12" w="44" /><ent r="4" t="12" w="53" /><ent r="4" t="12" w="62" /><ent r="4" t="12" w="71" /><ent r="4" t="12" w="79" /><ent r="4" t="12" w="87" /><ent r="5" t="12" w="96" /><ent r="5" t="12" w="104" /><ent r="5" t="12" w="112" /><ent r="4" t="12" w="151" /><ent r="4" t="12" w="160" /><ent r="4" t="12" w="169" /><ent r="5" t="12" w="178" /><ent r="5" t="12" w="186" /><ent r="4" t="12" w="194" /><ent r="4" t="12" w="202" /><ent r="5" t="12" w="211" /><ent r="5" t="12" w="219" /><ent r="5" t="12" w="227" /><ent r="5" t="12" w="235" /><ent r="5" t="12" w="243" /><ent r="4" t="12" w="280" /><ent r="4" t="12" w="289" /><ent r="4" t="12" w="298" /><ent r="4" t="12" w="307" /><ent r="4" t="12" w="315" /><ent r="5" t="12" w="324" /><ent r="5" t="12" w="332" /><ent r="4" t="12" w="352" /><ent r="4" t="12" w="361" /><ent r="4" t="12" w="369" /><ent r="4" t="12" w="407" /><ent r="4" t="12" w="416" /><ent r="5" t="12" w="424" /><ent r="4" t="12" w="432" /><ent r="4" t="12" w="453" /><ent r="4" t="12" w="462" /><ent r="4" t="12" w="471" /><ent r="4" t="12" w="479" /><ent r="4" t="12" w="537" /><ent r="4" t="12" w="546" /><ent r="4" t="12" w="554" /><ent r="4" t="12" w="583" /><ent r="5" t="12" w="591" /><ent r="4" t="12" w="650" /><ent r="4" t="12" w="660" /><ent r="4" t="12" w="668" /><ent r="4" t="12" w="676" /><ent r="4" t="12" w="696" /><ent r="4" t="12" w="706" /><ent r="4" t="12" w="730" /><ent r="4" t="12" w="738" /><ent r="4" t="12" w="746" /><ent r="3" t="12" w="767" /><ent r="4" t="12" w="1017" /><ent r="4" t="12" w="1035" /><ent r="4" t="12" w="1049" /><ent r="3" t="13" w="486" /><ent r="3" t="13" w="526" /><ent r="3" t="13" w="562" /><ent r="3" t="13" w="956" /><ent r="3" t="13" w="1233" /><ent r="3" t="13" w="1274" /><ent r="3" t="13" w="1288" /><ent r="3" t="13" w="1565" /></phr></stem><stem n="mfc"><phr n="MFC"><ent r="4" t="6" w="57" /><ent r="4" t="6" w="65" /><ent r="4" t="12" w="47" /><ent r="4" t="12" w="56" /><ent r="4" t="12" w="65" /><ent r="4" t="12" w="154" /><ent r="4" t="12" w="163" /><ent r="4" t="12" w="172" /><ent r="4" t="12" w="283" /><ent r="4" t="12" w="292" /><ent r="4" t="12" w="301" /><ent r="4" t="12" w="355" /><ent r="4" t="12" w="410" /><ent r="4" t="12" w="456" /><ent r="4" t="12" w="465" /><ent r="4" t="12" w="540" /><ent r="4" t="12" w="653" /><ent r="4" t="12" w="699" /><ent r="4" t="12" w="1020" /><ent r="4" t="12" w="1038" /><ent r="3" t="13" w="489" /><ent r="3" t="13" w="565" /></phr></stem><stem n="2008"><phr n="2008"><ent r="4" t="6" w="63" /><ent r="3" t="8" w="311" /><ent r="4" t="9" w="1374" /><ent r="4" t="9" w="1409" /><ent r="4" t="12" w="54" /><ent r="4" t="12" w="63" /><ent r="4" t="12" w="72" /><ent r="4" t="12" w="80" /><ent r="4" t="12" w="88" /><ent r="4" t="12" w="161" /><ent r="4" t="12" w="170" /><ent r="5" t="12" w="179" /><ent r="5" t="12" w="187" /><ent r="4" t="12" w="195" /><ent r="4" t="12" w="290" /><ent r="4" t="12" w="299" /><ent r="4" t="12" w="308" /><ent r="4" t="12" w="316" /><ent r="4" t="12" w="353" /><ent r="4" t="12" w="362" /><ent r="4" t="12" w="408" /><ent r="4" t="12" w="417" /><ent r="4" t="12" w="463" /><ent r="4" t="12" w="472" /><ent r="4" t="12" w="538" /><ent r="4" t="12" w="547" /><ent r="4" t="12" w="584" /><ent r="4" t="12" w="651" /><ent r="4" t="12" w="661" /><ent r="4" t="12" w="669" /><ent r="4" t="12" w="697" /><ent r="4" t="12" w="707" /><ent r="4" t="12" w="731" /><ent r="4" t="12" w="739" /><ent r="4" t="12" w="1018" /><ent r="4" t="12" w="1036" /><ent r="4" t="12" w="1050" /><ent r="3" t="13" w="563" /><ent r="3" t="13" w="957" /><ent r="3" t="13" w="1234" /><ent r="83" t="40" w="1622" /></phr></stem><stem n="/cli"><phr n="/CLI"><ent r="4" t="6" w="73" /><ent r="3" t="8" w="50" /></phr></stem><stem n="(wrapper"><phr n="(wrapper"><ent r="4" t="6" w="79" /></phr></stem><stem n="“examples”"><phr n="“Examples”"><ent r="4" t="6" w="86" /></phr></stem><stem n="recommend"><phr n="recommended"><ent r="3" t="7" w="13" /><ent r="3" t="7" w="501" /><ent r="3" t="9" w="1185" /></phr><phr n="recommend"><ent r="3" t="7" w="364" /><ent r="3" t="7" w="1187" /><ent r="3" t="7" w="2314" /></phr></stem><stem n="familiar"><phr n="familiar"><ent r="3" t="7" w="16" /></phr></stem><stem n="modern"><phr n="modern"><ent r="3" t="7" w="25" /></phr></stem><stem n="surveil"><phr n="surveillance"><ent r="3" t="7" w="27" /><ent r="3" t="40" w="1711" /></phr></stem><stem n="program"><phr n="programming"><ent r="3" t="7" w="35" /><ent r="64" t="11" w="27" /><ent r="1000" t="12" w="4" /><ent r="82" t="12" w="10" /><ent r="4" t="41" w="118" /></phr><phr n="program"><ent r="3" t="7" w="122" /><ent r="4" t="9" w="1358" /><ent r="4" t="9" w="1377" /><ent r="4" t="9" w="1396" /><ent r="4" t="9" w="1412" /></phr></stem><stem n="know"><phr n="know"><ent r="3" t="7" w="42" /><ent r="3" t="9" w="1085" /></phr></stem><stem n="compress"><phr n="compression"><ent r="3" t="7" w="48" /><ent r="4" t="41" w="100" /><ent r="6" t="41" w="619" /></phr><phr n="compressed"><ent r="3" t="37" w="215" /></phr><phr n="compress"><ent r="4" t="41" w="917" /></phr></stem><stem n="principl"><phr n="principles"><ent r="3" t="7" w="55" /><ent r="3" t="41" w="870" /></phr></stem><stem n="-"><phr n="-"><ent r="3" t="7" w="59" /><ent r="3" t="7" w="59" /><ent r="3" t="9" w="124" /><ent r="3" t="9" w="124" /><ent r="3" t="9" w="142" /><ent r="3" t="9" w="142" /><ent r="3" t="9" w="168" /><ent r="3" t="9" w="168" /><ent r="3" t="9" w="171" /><ent r="3" t="9" w="171" /><ent r="3" t="9" w="174" /><ent r="3" t="9" w="174" /><ent r="3" t="9" w="177" /><ent r="3" t="9" w="177" /><ent r="3" t="9" w="180" /><ent r="3" t="9" w="180" /><ent r="3" t="25" w="217" /><ent r="3" t="25" w="217" /><ent r="5" t="25" w="533" /><ent r="5" t="25" w="533" /><ent r="4" t="35" w="222" /><ent r="4" t="35" w="222" /><ent r="4" t="40" w="538" /><ent r="4" t="40" w="538" /><ent r="3" t="40" w="1682" /><ent r="3" t="40" w="1682" /><ent r="3" t="40" w="1710" /><ent r="3" t="40" w="1710" /><ent r="3" t="40" w="1731" /><ent r="3" t="40" w="1731" /><ent r="3" t="40" w="1751" /><ent r="3" t="40" w="1751" /><ent r="3" t="40" w="1776" /><ent r="3" t="40" w="1776" /><ent r="3" t="40" w="1794" /><ent r="3" t="40" w="1794" /></phr></stem><stem n="suggest"><phr n="suggestions"><ent r="3" t="7" w="71" /><ent r="3" t="10" w="60" /></phr><phr n="suggested"><ent r="3" t="43" w="53" /></phr></stem><stem n="gener"><phr n="General"><ent r="82" t="7" w="80" /><ent r="82" t="10" w="70" /><ent r="3" t="12" w="713" /><ent r="3" t="13" w="1154" /><ent r="3" t="13" w="1486" /><ent r="3" t="25" w="107" /><ent r="3" t="25" w="208" /><ent r="3" t="25" w="227" /><ent r="3" t="25" w="605" /><ent r="3" t="25" w="790" /><ent r="63" t="40" w="380" /><ent r="83" t="41" w="8" /></phr><phr n="generated"><ent r="3" t="7" w="2261" /><ent r="6" t="22" w="308" /></phr><phr n="Generally"><ent r="3" t="7" w="2527" /></phr><phr n="generator"><ent r="4" t="29" w="2261" /><ent r="6" t="29" w="2282" /><ent r="3" t="51" w="2290" /><ent r="5" t="51" w="2311" /></phr><phr n="generate"><ent r="4" t="41" w="306" /></phr><phr n="generation"><ent r="4" t="41" w="317" /></phr></stem><stem n="plcsimul"><phr n="PLCSimulator"><ent r="3" t="7" w="97" /><ent r="3" t="7" w="155" /></phr></stem><stem n=".ex"><phr n=".exe"><ent r="3" t="7" w="98" /><ent r="3" t="7" w="164" /></phr></stem><stem n="find"><phr n="find"><ent r="3" t="7" w="102" /><ent r="3" t="7" w="2328" /><ent r="4" t="9" w="551" /></phr></stem><stem n="might"><phr n="might"><ent r="3" t="7" w="117" /></phr></stem><stem n=".exe."><phr n=".exe."><ent r="3" t="7" w="157" /></phr></stem><stem n="line"><phr n="line"><ent r="3" t="7" w="168" /><ent r="5" t="19" w="417" /><ent r="5" t="19" w="470" /><ent r="5" t="19" w="523" /><ent r="5" t="19" w="834" /><ent r="5" t="19" w="887" /><ent r="5" t="19" w="940" /><ent r="6" t="22" w="695" /><ent r="6" t="22" w="701" /><ent r="5" t="25" w="1091" /><ent r="5" t="25" w="1122" /><ent r="5" t="25" w="1153" /><ent r="5" t="25" w="1184" /><ent r="5" t="25" w="1215" /><ent r="5" t="50" w="129" /><ent r="5" t="50" w="134" /><ent r="5" t="50" w="137" /><ent r="5" t="50" w="142" /><ent r="5" t="50" w="145" /><ent r="5" t="50" w="150" /><ent r="5" t="50" w="153" /><ent r="5" t="50" w="158" /><ent r="5" t="50" w="161" /><ent r="5" t="50" w="166" /></phr><phr n="lines"><ent r="5" t="19" w="400" /><ent r="5" t="19" w="453" /><ent r="5" t="19" w="506" /><ent r="5" t="19" w="817" /><ent r="5" t="19" w="870" /><ent r="5" t="19" w="923" /><ent r="5" t="29" w="808" /><ent r="5" t="51" w="818" /></phr></stem><stem n="/util"><phr n="/utilities"><ent r="3" t="7" w="170" /></phr></stem><stem n="util"><phr n="utilities"><ent r="3" t="7" w="170" /><ent r="4" t="9" w="1302" /></phr><phr n="Utility"><ent r="3" t="8" w="378" /><ent r="3" t="10" w="752" /></phr></stem><stem n="dbitest"><phr n="DBITest"><ent r="3" t="7" w="178" /></phr></stem><stem n="discov"><phr n="discover"><ent r="3" t="7" w="180" /></phr></stem><stem n="evalu"><phr n="evaluate"><ent r="3" t="7" w="186" /><ent r="3" t="7" w="207" /><ent r="3" t="10" w="732" /></phr></stem><stem n="statement"><phr n="statements"><ent r="3" t="7" w="190" /></phr><phr n="statement"><ent r="3" t="9" w="261" /></phr></stem><stem n="addition"><phr n="Additionally"><ent r="3" t="7" w="194" /><ent r="3" t="7" w="2470" /><ent r="3" t="32" w="82" /></phr></stem><stem n="registri"><phr n="registry"><ent r="3" t="7" w="204" /><ent r="1000" t="9" w="2" /><ent r="92" t="9" w="5" /><ent r="3" t="9" w="19" /><ent r="3" t="9" w="36" /><ent r="3" t="9" w="42" /><ent r="3" t="9" w="50" /><ent r="3" t="9" w="68" /><ent r="3" t="9" w="192" /><ent r="4" t="9" w="216" /><ent r="4" t="9" w="236" /><ent r="3" t="9" w="276" /><ent r="3" t="9" w="337" /><ent r="4" t="9" w="356" /><ent r="4" t="9" w="381" /><ent r="4" t="9" w="418" /><ent r="3" t="9" w="456" /><ent r="3" t="9" w="481" /><ent r="4" t="9" w="554" /><ent r="3" t="9" w="592" /><ent r="3" t="9" w="646" /><ent r="3" t="9" w="945" /><ent r="3" t="9" w="959" /><ent r="3" t="9" w="1064" /><ent r="3" t="9" w="1205" /><ent r="3" t="9" w="1251" /><ent r="3" t="9" w="1257" /><ent r="3" t="9" w="1271" /><ent r="4" t="9" w="1295" /><ent r="4" t="9" w="1368" /><ent r="4" t="9" w="1387" /><ent r="3" t="13" w="1176" /><ent r="3" t="13" w="1191" /><ent r="3" t="13" w="1197" /><ent r="3" t="13" w="1210" /><ent r="3" t="13" w="1223" /><ent r="3" t="13" w="1228" /><ent r="3" t="13" w="1508" /><ent r="3" t="13" w="1523" /><ent r="3" t="13" w="1529" /><ent r="3" t="13" w="1542" /><ent r="3" t="13" w="1555" /><ent r="3" t="13" w="1560" /><ent r="3" t="38" w="33" /></phr></stem><stem n="editor"><phr n="editor"><ent r="3" t="7" w="205" /><ent r="3" t="9" w="1272" /><ent r="4" t="9" w="1296" /><ent r="4" t="9" w="1369" /><ent r="4" t="9" w="1388" /><ent r="3" t="13" w="1177" /><ent r="3" t="13" w="1509" /></phr></stem><stem n="make"><phr n="Make"><ent r="3" t="7" w="217" /><ent r="3" t="8" w="14" /><ent r="92" t="29" w="813" /><ent r="3" t="29" w="827" /><ent r="3" t="40" w="761" /><ent r="3" t="40" w="1172" /><ent r="3" t="40" w="1723" /><ent r="92" t="51" w="823" /><ent r="3" t="51" w="838" /></phr><phr n="makes"><ent r="3" t="40" w="144" /></phr></stem><stem n="sure"><phr n="sure"><ent r="3" t="7" w="218" /><ent r="3" t="7" w="2293" /><ent r="3" t="40" w="762" /><ent r="3" t="40" w="1173" /></phr></stem><stem n="delet"><phr n="delete"><ent r="3" t="7" w="220" /></phr><phr n="deleted"><ent r="3" t="7" w="474" /><ent r="92" t="17" w="164" /><ent r="3" t="17" w="190" /><ent r="5" t="18" w="1688" /></phr><phr n="deletes"><ent r="3" t="18" w="1616" /><ent r="3" t="18" w="1655" /></phr></stem><stem n="object"><phr n="objects"><ent r="3" t="7" w="222" /><ent r="3" t="7" w="230" /><ent r="3" t="7" w="420" /><ent r="3" t="7" w="797" /><ent r="3" t="7" w="2224" /><ent r="3" t="7" w="2446" /><ent r="3" t="9" w="1158" /><ent r="3" t="24" w="34" /></phr><phr n="object"><ent r="4" t="7" w="541" /><ent r="4" t="7" w="551" /><ent r="4" t="7" w="574" /><ent r="4" t="7" w="595" /><ent r="3" t="7" w="604" /><ent r="4" t="7" w="628" /><ent r="4" t="7" w="646" /><ent r="4" t="7" w="657" /><ent r="3" t="7" w="701" /><ent r="3" t="7" w="711" /><ent r="3" t="7" w="809" /><ent r="3" t="7" w="833" /><ent r="3" t="7" w="859" /><ent r="4" t="7" w="943" /><ent r="4" t="7" w="953" /><ent r="4" t="7" w="1000" /><ent r="4" t="7" w="1050" /><ent r="3" t="7" w="1059" /><ent r="3" t="7" w="1072" /><ent r="3" t="7" w="1091" /><ent r="3" t="7" w="1098" /><ent r="3" t="7" w="1111" /><ent r="3" t="7" w="1121" /><ent r="3" t="7" w="1140" /><ent r="3" t="7" w="1246" /><ent r="3" t="7" w="1255" /><ent r="3" t="7" w="1264" /><ent r="3" t="7" w="1288" /><ent r="3" t="7" w="1298" /><ent r="4" t="7" w="1322" /><ent r="4" t="7" w="1358" /><ent r="4" t="7" w="1415" /><ent r="4" t="7" w="1424" /><ent r="3" t="7" w="1458" /><ent r="3" t="7" w="1502" /><ent r="4" t="7" w="1565" /><ent r="4" t="7" w="1584" /><ent r="4" t="7" w="1666" /><ent r="3" t="7" w="1676" /><ent r="4" t="7" w="1800" /><ent r="4" t="7" w="1810" /><ent r="3" t="7" w="1853" /><ent r="3" t="7" w="1870" /><ent r="3" t="7" w="1878" /><ent r="3" t="7" w="1891" /><ent r="4" t="7" w="2060" /><ent r="3" t="7" w="2070" /><ent r="4" t="7" w="2159" /><ent r="4" t="7" w="2171" /><ent r="3" t="7" w="2405" /><ent r="3" t="7" w="2417" /><ent r="3" t="7" w="2550" /><ent r="3" t="9" w="311" /><ent r="3" t="9" w="330" /><ent r="4" t="9" w="351" /><ent r="3" t="9" w="435" /><ent r="3" t="9" w="682" /><ent r="3" t="9" w="691" /><ent r="3" t="9" w="779" /><ent r="3" t="9" w="790" /><ent r="3" t="9" w="996" /><ent r="3" t="9" w="1071" /><ent r="3" t="13" w="759" /><ent r="3" t="13" w="825" /><ent r="5" t="29" w="1232" /><ent r="5" t="29" w="1237" /><ent r="6" t="29" w="1482" /><ent r="6" t="29" w="1487" /><ent r="93" t="29" w="1660" /><ent r="4" t="29" w="1689" /><ent r="6" t="29" w="1719" /><ent r="6" t="29" w="1724" /><ent r="6" t="29" w="1727" /><ent r="6" t="29" w="1732" /><ent r="6" t="29" w="1735" /><ent r="6" t="29" w="1740" /><ent r="6" t="29" w="1773" /><ent r="6" t="29" w="1778" /><ent r="6" t="29" w="1781" /><ent r="6" t="29" w="1786" /><ent r="6" t="29" w="1791" /><ent r="6" t="29" w="1796" /><ent r="6" t="29" w="1868" /><ent r="6" t="29" w="1873" /><ent r="6" t="29" w="1886" /><ent r="6" t="29" w="1891" /><ent r="6" t="29" w="2089" /><ent r="6" t="29" w="2095" /><ent r="6" t="29" w="2203" /><ent r="6" t="29" w="2209" /><ent r="5" t="51" w="1247" /><ent r="5" t="51" w="1252" /><ent r="5" t="51" w="1501" /><ent r="5" t="51" w="1506" /><ent r="92" t="51" w="1681" /><ent r="3" t="51" w="1711" /><ent r="5" t="51" w="1741" /><ent r="5" t="51" w="1746" /><ent r="5" t="51" w="1749" /><ent r="5" t="51" w="1754" /><ent r="5" t="51" w="1757" /><ent r="5" t="51" w="1762" /><ent r="5" t="51" w="1795" /><ent r="5" t="51" w="1800" /><ent r="5" t="51" w="1803" /><ent r="5" t="51" w="1808" /><ent r="5" t="51" w="1813" /><ent r="5" t="51" w="1818" /><ent r="5" t="51" w="1891" /><ent r="5" t="51" w="1896" /><ent r="5" t="51" w="1909" /><ent r="5" t="51" w="1914" /><ent r="5" t="51" w="2115" /><ent r="5" t="51" w="2121" /><ent r="5" t="51" w="2230" /><ent r="5" t="51" w="2236" /></phr></stem></index> |