<?php

session_start();

$db = new SQLite3('../db-test/test.db');



$plug = json_decode(file_get_contents("../settings.json"), true)["plug"];


$inputJsonString = '[
  {
    "descr": "Umstellaufforderung durch Blinken des Verschlußmelders ist nicht vorgesehen für alle Weichen, außer für (Eigen-) Zwieschutzweichen, die nach Eintreten des Ersatzschutzes in eine bestimmte Lage gestellt werden sollen",
    "id": "W000-",
    "bridges": []
  },
  {
    "descr": "Umstellaufforderung durch Blinken des Verschlußmelders ist vorgesehen für (Eigen-) Zwieschutzweichen, die nach Eintreten des Ersatzschutzes in eine bestimmte Lage gestellt werden sollen",
    "id": "W001-",
    "bridges": [
      36
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt eine Weiche, Gleissperre oder Kreuzung, die getrennt von (1) isoliert ist",
    "id": "W---1",
    "bridges": [
      31,
      32,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt eine Weiche, Gleissperre oder Kreuzung, die gemeinsam mit (1) isoliert ist",
    "id": "W---2",
    "bridges": [
      31,
      34,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt eine Weiche, Gleissperre oder Kreuzung, die nicht isoliert ist",
    "id": "W---3",
    "bridges": [
      31,
      35,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt eine Strecke (mit oder ohne Eingangs- bzw. Ausgangsabschnitt und mit oder ohne Sperrsignal vor der Weiche)",
    "id": "W---7",
    "bridges": [
      31,
      33,
      38,
      90
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt ein Sperrsignal oder Hauptsperrsignal mit oder ohne Kennlicht in Fahrtrichtung aus der Weiche, wenn an A des betreffenden Signals keine nicht isolierte Weiche anschließt",
    "id": "W---1",
    "bridges": [
      31,
      32,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt ein Sperrsignal oder Hauptsperrsignal mit oder ohne Kennlicht in Fahrtrichtung aus der Weiche, wenn an A des betreffenden Signals eine nicht isolierte Weiche anschließt",
    "id": "W---3",
    "bridges": [
      31,
      35,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt ein Hauptsperrsignal in Fahrtrichtung in die Weiche",
    "id": "W---4",
    "bridges": [
      31,
      33,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt ein Sperrsignal ohne Kennlicht (außer 2 u. 6) in Fahrtrichtung die Weiche",
    "id": "W---6",
    "bridges": [
      31,
      33,
      39
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt ein Sperrsignal ohne Kennlicht (außer 2 u. 6) in Fahrtrichtung die Weiche, wenn das Sperrsignal einzeln zwischen Weichen steht",
    "id": "W---5",
    "bridges": [
      31,
      32,
      39
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt ein Sperrsignal mit Kennlicht in Fahrtrichtung die Weiche",
    "id": "W---4",
    "bridges": [
      31,
      33,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt ein isolierter Gleisabschnitt (außer 2) oder eine Fa-Relaisgruppe anschließt",
    "id": "W---4",
    "bridges": [
      31,
      33,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Spitze anschließt ein Schienenkontakt im Weichenabschnitt nach 25 E 7228-1 B1.1",
    "id": "W---0",
    "bridges": [
      31,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Spitze anschließt eine Weiche, Gleissperre oder Kreuzung",
    "id": "W0009",
    "bridges": [
      30,
      34,
      36,
      37,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Spitze anschließt ein isolierter Gleisabschnitt",
    "id": "W0009",
    "bridges": [
      30,
      34,
      36,
      37,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Spitze anschließt ein Sperrsignal ohne Kennlicht mit Fahrtrichtung in die Weiche",
    "id": "W0008",
    "bridges": [
      30,
      34,
      36,
      37,
      39
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Spitze anschließt ein Signal (außer Fall 3)",
    "id": "W0009",
    "bridges": [
      30,
      34,
      36,
      37,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Spitze anschließt ein Schienenkontakt mit isolierter Schiene oder Mitwirktaste nach 25 E 7228-1 Bl. 2",
    "id": "W000X",
    "bridges": [
      30,
      36,
      37,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an E der Gruppe anschließt eine Weiche oder Kreuzung die von ihr getrennt isoliert ist",
    "id": "W0021",
    "bridges": [
      31,
      32,
      36,
      37,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an E der Gruppe anschließt eine Weiche oder Kreuzung die mit ihr gemeinsam isoliert ist",
    "id": "W0022",
    "bridges": [
      31,
      34,
      36,
      37,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an E der Gruppe anschließt eine Weiche oder Kreuzung die nicht isoliert ist",
    "id": "W0023",
    "bridges": [
      31,
      35,
      36,
      37,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an E der Gruppe anschließt ein Sperrsignal in Fahrtrichtung aus der Gleissperre",
    "id": "W0021",
    "bridges": [
      31,
      32,
      36,
      37,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an E der Gruppe anschließt ein Sperrsignal in Fahrtrichtung in die Gleissperre",
    "id": "W0026",
    "bridges": [
      31,
      33,
      36,
      37,
      39
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an E der Gruppe anschließt eine Sperrsignal-Relaisgruppe ohne Außenanlage",
    "id": "W0024",
    "bridges": [
      31,
      33,
      36,
      37,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an E der Gruppe keine Gruppe anschließt",
    "id": "W0022",
    "bridges": [
      31,
	  34,
      36,
      37,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre mit Handfreimeldung",
    "id": "W0027",
    "bridges": [
      30,
      34,
      36,
      37,
      38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt eine Weiche, Gleissperre oder Kreuzung, die getrennt von (1) isoliert ist",
    "id": "W---1",
    "bridges": [
      42,
      46,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt eine Weiche, Gleissperre oder Kreuzung, die gemeinsam (auch getrennt aber nicht grenzfrei) mit (1) isoliert ist",
    "id": "W---2",
    "bridges": [
      42,
      48,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt eine Weiche, Gleissperre oder Kreuzung, die nicht isoliert ist",
    "id": "W---3",
    "bridges": [
      42,
      49,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt eine Strecke (mit oder ohne Eingangs- bzw. Ausgangsabschnitt und mit oder ohne Sperrsignal vor der Weiche)",
    "id": "W---7",
    "bridges": [
      42,
      47,
      91,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt ein Sperrsignal oder ein Hauptsperrsignal mit oder ohne Kennlicht in Fahrtrichtung aus der Weiche, wenn an A des betreffenden Signal keine nicht isol. Weiche anschließt",
    "id": "W---1",
    "bridges": [
      42,
      46,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt ein Sperrsignal oder ein Hauptsperrsignal mit oder ohne Kennlicht in Fahrtrichtung aus der Weiche, wenn an A des betreffenden Signals eine nicht isol. Weiche anschließt",
    "id": "W---3",
    "bridges": [
      42,
      49,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt ein Hauptsperrsignal in Fahrtrichting in die Weiche",
    "id": "W---4",
    "bridges": [
      42,
      47,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt ein Sperrsignal ohne Kennlicht (außer 2) in Fahrtrichtung die Weiche",
    "id": "W---6",
    "bridges": [
      43,
      47,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt ein Sperrsignal ohne Kennlicht (außer 2) in Fahrtrichtung die Weiche, jedoch wenn das Sperrsignal einzeln zwischen Weichen steht",
    "id": "W---5",
    "bridges": [
      43,
      46,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt ein Sperrsignal mit Kennlicht in Fahrtrichtung die Weiche",
    "id": "W---4",
    "bridges": [
      42,
      47,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt ein isolierter Gleisabschnitt (außer 2) oder eine Fa-Relaisgruppe anschließt",
    "id": "W---4",
    "bridges": [
      42,
      47,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt ein Schienenkontakt im Weichenabschnitt nach 25 E 7228-1 B1.1",
    "id": "W---0",
    "bridges": [
      42,
      93
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Plusstrang anschließt keine Relaisgruppe (Prellbock)",
    "id": "W---1",
    "bridges": [
      42,
      46,
      93
    ]
  },
  {
    "descr": "Anstelle des fehlenden Spurkabels an Leiste A (UNKLARE ANWEISUNG IN DEN UNTERLAGEN)",
    "id": "F0100",
    "bridges": [
      12,
	  22,
	  32,
	  17,
	  27,
	  37,
	  18,
	  28,
	  38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Plusstrang anschließt eine Weiche, Gleissperre oder Kreuzung",
    "id": "W---9",
    "bridges": [
      42,
      48,
      94
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Plusstrang anschließt ein isolierter Gleisabschnitt",
    "id": "W---9",
    "bridges": [
      42,
      48,
      94
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Plusstrang anschließt ein Sperrsignal ohne Kennlicht mit Fahrtrichtung in die Weiche",
    "id": "W---8",
    "bridges": [
      43,
      48,
      94
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Plusstrang anschließt ein Signal (außer Fall 3)",
    "id": "W---9",
    "bridges": [
      42,
      48,
      94
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Plusstrang anschließt ein Schienenkontakt mit isolierter Schiene oder Mitwirktaste nach 25 E 7228-1 Bl. 2",
    "id": "W---X",
    "bridges": [
      42,
      94
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Plusstrang anschließt keine Relaisgruppe (Prellbock)",
    "id": "W---9",
    "bridges": [
      42,
      48,
      94
    ]
  },
  {
    "descr": "Anstelle des fehlenden Spurkabels an Leiste A",
    "id": "F0100",
    "bridges": [
      12,
	  22,
	  32,
	  17,
	  27,
	  37,
	  18,
	  28,
	  38
    ]
  },
  {
    "descr": "Flankenschutz für Fahrten über den Plusstrang. Die Weiche mit Vorrang (z. B. 3.) wird in Rangierstraßen mit Flankenschutz gestellt",
    "id": "W--2-",
    "bridges": [
      41,
      44
    ]
  },
  {
    "descr": "Flankenschutz für Fahrten über den Plusstrang. Die Weiche mit Vorrang (z. B. 3.) wird in Rangierstraßen ohne Flankenschutz gestellt",
    "id": "W--4-",
    "bridges": [
      41,
      45
    ]
  },
  {
    "descr": "Flankenschutz für Fahrten über den Plusstrang. Die Weiche ohne Vorrang wird in Rangierstraßen mit Flankenschutz gestellt",
    "id": "W--1-",
    "bridges": [
      40,
      44
    ]
  },
  {
    "descr": "Flankenschutz für Fahrten über den Plusstrang. Die Weiche ohne Vorrang wird in Rangierstraßen ohne Flankenschutz gestellt",
    "id": "W--3-",
    "bridges": [
      40,
      45
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt eine Weiche, Gleissperre oder Kreuzung, die getrennt von (1) isoliert ist",
    "id": "W-1--",
    "bridges": [
      52,
      56
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt eine Weiche, Gleissperre oder Kreuzung, die gemeinsam mit (1) isoliert ist",
    "id": "W-2--",
    "bridges": [
      52,
      58
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt eine Weiche, Gleissperre oder Kreuzung, die nicht isoliert ist",
    "id": "W-3--",
    "bridges": [
      52,
      59
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt eine Strecke (mit oder ohne Eingangs- bzw. Ausgangsabschnitt und mit oder ohne Sperrsignal vor der Weiche)",
    "id": "W-7--",
    "bridges": [
      52,
      57,
      92
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt ein Sperrsignal oder ein Hauptsperrsignal mit oder ohne Kennlicht in Fahrtrichtung aus der Weiche, wenn an A des betreffenden Signals keine nicht isol. Weiche anschließt",
    "id": "W-1--",
    "bridges": [
      52,
      56
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt ein Sperrsignal oder ein Hauptsperrsignal mit oder ohne Kennlicht in Fahrtrichtung aus der Weiche, wenn an A des betreffenden Signals eine nicht isol. Weiche anschließt",
    "id": "W-3--",
    "bridges": [
      52,
      59
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt ein Hauptsperrsignal in Fahrtrichtung in die Weiche",
    "id": "W-4--",
    "bridges": [
      52,
      57
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt ein Sperrsignal ohne Kennlicht (außer 2) in Fahrtrichtung in die Weiche",
    "id": "W-6--",
    "bridges": [
      53,
      57
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt ein Sperrsignal ohne Kennlicht (außer 2) in Fahrtrichtung in die Weiche, jedoch wenn das Sperrsignal einzeln zwischen Weichen steht",
    "id": "W-5--",
    "bridges": [
      53,
      56
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt ein Sperrsignal mit Kennlicht in Fahrtrichtung die Weiche",
    "id": "W-4--",
    "bridges": [
      52,
      57
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt ein isolierter Gleisabschnitt (außer 2) oder eine Fa-Relaisgruppe anschließt",
    "id": "W-4--",
    "bridges": [
      52,
      57
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt ein Schienenkontakt am Weichenabschnitt nach 25 E 7228-1 B1.1",
    "id": "W-0--",
    "bridges": [
      52
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche (1), an deren Minusstrang anschließt keine Relaisgruppe (Prellbock)",
    "id": "W--1-",
    "bridges": [
      52,
      56
    ]
  },
  {
    "descr": "Anstelle des fehlenden Spurkabels an Leiste G",
    "id": "F0100",
    "bridges": []
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Minusstrang anschließt eine Weiche, Gleissperre oder Kreuzung",
    "id": "W-9--",
    "bridges": [
      52,
      58
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Minusstrang anschließt ein isolierter Gleisabschnitt",
    "id": "W-9--",
    "bridges": [
      52,
      58
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Minusstrang anschließt ein Sperrsignal ohne Kennlicht mit Fahrtrichtung in die Weiche",
    "id": "W-8--",
    "bridges": [
      53,
      58
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Minusstrang anschließt ein Signal (außer ein Sperrsignal ohne Kennlicht mit Fahrtrichtung in die Weiche)",
    "id": "W-9--",
    "bridges": [
      52,
      58
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Minusstrang anschließt ein Schienenkontakt mit isolierter Schiene oder Mitwirktaste nach 25 E 7228-1 Bl. 2",
    "id": "W-0--",
    "bridges": [
      52
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, an deren Minusstrang anschließt keine Relaisgruppe (Prellbock)",
    "id": "W-9--",
    "bridges": [
      52,
      58
    ]
  },
  {
    "descr": "Anstelle des fehlenden Spurkabels an Leiste G",
    "id": "F0100",
    "bridges": []
  },
  {
    "descr": "Flankenschutz für Fahrten über den Minusstrang. Die Weiche mit Vorrang (z. B.W2.) wird in Rangierstraßen mit Flankenschutz gestellt",
    "id": "W2---",
    "bridges": [
      51,
      54
    ]
  },
  {
    "descr": "Flankenschutz für Fahrten über den Minusstrang. Die Weiche mit Vorrang (z. B.W2.) wird in Rangierstraßen ohne Flankenschutz gestellt",
    "id": "W4---",
    "bridges": [
      51,
      55
    ]
  },
  {
    "descr": "Flankenschutz für Fahrten über den Minusstrang. Die Weiche ohne Vorrang (z. B. W1) wird in Rangierstraßen mit Flankenschutz gestellt",
    "id": "W1---",
    "bridges": [
      50,
      54
    ]
  },
  {
    "descr": "Flankenschutz für Fahrten über den Minusstrang. Die Weiche ohne Vorrang (z. B. W1) wird in Rangierstraßen ohne Flankenschutz gestellt",
    "id": "W3---",
    "bridges": [
      50,
      55
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an G der Gruppe anschließt eine Weiche oder Kreuzung die von ihr getrennt isoliert ist",
    "id": "W0031",
    "bridges": [
      42,
      50,
      52,
      56,
      93,
      95
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an G der Gruppe anschließt eine Weiche oder Kreuzung die mit ihr gemeinsam isoliert ist",
    "id": "W0032",
    "bridges": [
      42,
      50,
      52,
      58,
      93,
      95
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an G der Gruppe anschließt eine Weiche oder Kreuzung die nicht isoliert ist",
    "id": "W0033",
    "bridges": [
      42,
      50,
      52,
      59,
      93,
      95
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an G der Gruppe anschließt ein Sperrsignal in Fahrtrichtung aus der Gleissperre",
    "id": "W0031",
    "bridges": [
      42,
      50,
      52,
      56,
      93,
      95
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an G der Gruppe anschließt ein Sperrsignal in Fahrtrichtung in die Gleissperre",
    "id": "W0036",
    "bridges": [
      42,
      50,
      53,
      57,
      93,
      95
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre, die an das Gleisrelais einer isolierten Weiche angeschlossen ist, wenn an G der Gruppe anschließt eine Sperrsignal-Relaisgruppe ohne Außenanlage",
    "id": "W0034",
    "bridges": [
      42,
      50,
      52,
      57,
      93,
      95
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre mit Handfreimeldung",
    "id": "W0037",
    "bridges": [
      42,
      50,
      52,
      58,
      94,
      95
    ]
  },
  {
    "descr": "Anstelle des fehlenden Spurkabels an Leiste A (UNKLARE DOKUMENTATION)",
    "id": "F0200",
    "bridges": [
      12,
	  22,
	  32,
	  17,
	  27,
	  37,
	  18,
	  28,
	  38
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine Gleissperre",
    "id": "W5000",
    "bridges": [
      66,
      68,
      70,
      72,
      75,
      81
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe in einem Stellwerk, in dem die Weichen im Durchrutschweg verschlossen werden",
    "id": "V----",
    "bridges": [
      68
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe in einem Stellwerk, in dem die Weichen im Durchrutschweg nicht verschlossen werden",
    "id": "N----",
    "bridges": [
      69
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche, die weder einfache Kreuzungsweiche, noch (Eigen-)Zwieschutzweiche ist",
    "id": "-1--0",
    "bridges": [
      70,
      72
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche, die einfache Kreuzungsweiche, aber nicht (Eigen-)Zwieschutzweiche ist und mit Bogenfahrt über den Plusstrang ist",
    "id": "-1--2",
    "bridges": [
      67,
      70,
      73,
      82
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche, die einfache Kreuzungsweiche, aber nicht (Eigen-)Zwieschutzweiche ist und mit Bogenfahrt über den Minusstrang ist",
    "id": "-2--2",
    "bridges": [
      67,
      71,
      72,
      83
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche, die (Eigen-)Zwieschutzweiche, aber nicht einfache Kreuzungsweiche ist. Sie soll nach Eintreten des Ersatzschutzes beiderseits stellbar sein",
    "id": "-3---",
    "bridges": [
      60,
      61,
      71,
      73
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche, die (Eigen-)Zwieschutzweiche, aber nicht einfache Kreuzungsweiche ist. Sie soll nach Eintreten des Ersatzschutzes nach Pluslage gestellt werden",
    "id": "-4---",
    "bridges": [
      60,
      70,
      73
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche, die (Eigen-)Zwieschutzweiche, aber nicht einfache Kreuzungsweiche ist. Sie soll nach Eintreten des Ersatzschutzes nach Minuslage gestellt werden",
    "id": "-5---",
    "bridges": [
      61,
      71,
      72
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte Weiche, die (Eigen-)Zwieschutzweiche, aber nicht einfache Kreuzungsweiche ist. Sie soll nach Eintreten des Ersatzschutzes in der zuerst eingestellten Schutzlage verschlossen bleiben",
    "id": "-6---",
    "bridges": [
      60,
      61,
      70,
      72
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte einfache Kreuzungsweiche, die zugleich (Eigen-) Zwieschutzweiche ist mit Bogenfahrt über den Plusstrang ist und nach Eintreten des Ersatzschutzes beiderseits stellbar ist",
    "id": "-7---",
    "bridges": [
      61,
      67,
      71,
      73,
      82
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte einfache Kreuzungsweiche, die zugleich (Eigen-) Zwieschutzweiche ist mit Bogenfahrt über den Plusstrang ist und nach Eintreten des Ersatzschutzes nach Pluslage gestellt werden soll",
    "id": "-1---",
    "bridges": [
      67,
      70,
      73,
      82
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte einfache Kreuzungsweiche, die zugleich (Eigen-) Zwieschutzweiche ist mit Bogenfahrt über den Plusstrang ist und nach Eintreten des Ersatzschutzes in der zuerst eingestellten Schutzlage verschlossen bleibt",
    "id": "-8---",
    "bridges": [
      61,
      67,
      70,
      72,
      82
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte einfache Kreuzungsweiche, die zugleich (Eigen-) Zwieschutzweiche ist mit Bogenfahrt über den Minusstrang ist und nach Eintreten des Ersatzschutzes beiderseits stellbar ist",
    "id": "-9---",
    "bridges": [
      60,
      67,
      71,
      73,
      83
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte einfache Kreuzungsweiche, die zugleich (Eigen-) Zwieschutzweiche ist mit Bogenfahrt über den Minusstrang ist und nach Eintreten des Ersatzschutzes nach Minuslage gestellt werden soll",
    "id": "-2---",
    "bridges": [
      67,
      71,
      72,
      83
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine isolierte einfache Kreuzungsweiche, die zugleich (Eigen-) Zwieschutzweiche ist mit Bogenfahrt über den Minusstrang ist und nach Eintreten des Ersatzschutzes in der zuerst eingestellten Schutzlage verschlossen bleibt",
    "id": "-0---",
    "bridges": [
      60,
      67,
      70,
      72,
      83
    ]
  },
  {
    "descr": "Zusätzlich zu C3) und D), wenn die Weiche als Zwieschutzweiche nach Auflösung einer der beiden Fahrstraßen für die verbleibende Fahrstraße selbttätig in Schutzlage gehen soll",
    "id": "----1",
    "bridges": [
      81
    ]
  },
  {
    "descr": "Zusätzlich zu C3) und D), wenn die Weiche als Zwieschutzweiche nach Auflösung einer der beiden Fahrstraßen für die verbleibende Fahrstraße nicht selbttätig in Schutzlage gehen soll",
    "id": "----2",
    "bridges": []
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, die weder einfache Kreuzungsweiche noch (Eigen-)Zwieschutzweiche ist",
    "id": "-0--3",
    "bridges": [
      66,
      70,
      72
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, die einfache Kreuzungsweiche mit Bogenfahrt über Plusstrang ist",
    "id": "-0--4",
    "bridges": [
      66,
      70,
      73,
      81,
      82
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, die einfache Kreuzungsweiche mit Bogenfahrt über Minusstrang ist",
    "id": "-0--5",
    "bridges": [
      66,
      71,
      72,
      81,
      83
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, die (Eigen-)Zwieschutzweiche ist, die nach Eintreten des Ersatzschutzes beiderseits stellbar ist",
    "id": "-0--6",
    "bridges": [
      60,
      61,
      66,
      71,
      73,
      81
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, die (Eigen-)Zwieschutzweiche ist, die nach Eintreten des Ersatzschutzes nach Pluslage stellbar ist",
    "id": "-0--7",
    "bridges": [
      60,
      66,
      70,
      73,
      81
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, die (Eigen-)Zwieschutzweiche ist, die nach Eintreten des Ersatzschutzes nach Minuslage stellbar ist",
    "id": "-0--8",
    "bridges": [
      61,
      66,
      71,
      72,
      81
    ]
  },
  {
    "descr": "Bei Verwendung der Relaisgruppe für eine nicht isolierte Weiche, die (Eigen-)Zwieschutzweiche ist, die nach Eintreten des Ersatzschutzes in der zuerst eingestellten Schutzlage verschlossen bleibt",
    "id": "-0--9",
    "bridges": [
      60,
      61,
      66,
      70,
      72,
      81
    ]
  },
  {
    "descr": "Signalbildauswahl durch spitz angefahrene Weiche. Zugfahrten auf Hp1 oder auf Sh1 sind über beide Weichenstränge stellbar",
    "id": "--1--",
    "bridges": [
      63,
      65
    ]
  },
  {
    "descr": "Signalbildauswahl durch spitz angefahrene Weiche. Zugfahrten auf Hp1 oder auf Sh1 sind nur über den Plusstrang stellbar",
    "id": "--2--",
    "bridges": [
      63,
      64
    ]
  },
  {
    "descr": "Signalbildauswahl durch spitz angefahrene Weiche. Zugfahrten auf Hp1 oder auf Sh1 sind nur über den Minusstrang stellbar",
    "id": "--3--",
    "bridges": [
      62,
      65
    ]
  },
  {
    "descr": "Signalbildauswahl durch spitz angefahrene Weiche. Zugfahrten auf Hp1 oder auf Sh1 sind über die Weiche nicht stellbar",
    "id": "--4--",
    "bridges": [
      62,
      64
    ]
  },
  {
    "descr": "Signalabstand: Zugfahrten auf Sh1 sind über die Weiche stellbar",
    "id": "---5-",
    "bridges": [
      78,
      80
    ]
  },
  {
    "descr": "Signalabstand: Zugfahrten auf Sh1 sind nicht über die Weiche stellbar und ein Haupt- oder Haupt/Sperrsignal in höchstens 50 m Abstand vor dem Isolierstoß der Weiche nicht vorhanden ist (Haltfall)",
    "id": "---1-",
    "bridges": []
  },
  {
    "descr": "Signalabstand: Zugfahrten auf Sh1 sind nicht über die Weiche stellbar und ein Haupt- oder Haupt/Sperrsignal in höchstens 50 m Abstand vor dem Isolierstoß der Weiche nur vor dem Plusstrang steht",
    "id": "---2-",
    "bridges": [
	  77,
      78
	]
  },
  {
    "descr": "Signalabstand: Zugfahrten auf Sh1 sind nicht über die Weiche stellbar und ein Haupt- oder Haupt/Sperrsignal in höchstens 50 m Abstand vor dem Isolierstoß der Weiche nur vor dem Minusstrang steht",
    "id": "---3-",
    "bridges": [
	  79,
      80
	]
  },
  {
    "descr": "Signalabstand: Zugfahrten auf Sh1 sind nicht über die Weiche stellbar und ein Haupt- oder Haupt/Sperrsignal in höchstens 50 m Abstand vor dem Isolierstoß der Weiche vor der Weichenspitze oder vor beiden Weichensträngen (steht?)",
    "id": "---3-",
    "bridges": [
	  79,
      80
	]
  }
]

';

$programData = json_decode($inputJsonString, true);

foreach ($programData as $item) {
    // 3. Eine neue Datenstruktur für den einzelnen Eintrag erstellen
    $outputData = [
        "bridges"            => $item['bridges'],
        // Die Program-ID in ein Array einzelner Zeichen aufteilen
        "programID"          => str_split($item['id']),
        "programDescription" => $item['descr']
    ];

    // 4. Die neue Struktur in einen JSON-String umwandeln und in einer Variable speichern
    // JSON_UNESCAPED_UNICODE sorgt für die korrekte Darstellung von Umlauten.
    $formattedJson = json_encode($outputData, JSON_UNESCAPED_UNICODE);

	$meta = $formattedJson;

	
	echo $meta;
	



$meta = json_decode($meta, true);
$bridges = $meta["bridges"];
$programID = $meta["programID"];
$programDescription = $meta["programDescription"];




$result = $db->query("SELECT COUNT(*) as anzahl FROM program_id_bits WHERE
position = 0 AND value = '" . $programID[0] . "' AND
position = 1 AND value = '" . $programID[1] . "' AND 
position = 2 AND value = '" . $programID[2] . "' AND 
position = 3 AND value = '" . $programID[3] . "' AND 
position = 4 AND value = '" . $programID[4] . "' 
;");

$row = $result->fetchArray(SQLITE3_ASSOC);
$number = $row['anzahl'];

if($number > 0) {
	$message[0] = false;
	$message[1] = "Diese Programm-ID existiert unter dem aktuell gewählten Stecker bereits. Bitte anderen Namen wählen oder den Stecker wechseln.";
	$message = json_encode($message);
	print($message);
	die();
}

$db->exec("  INSERT INTO programs (plug_id, program_description) VALUES ('" . $plug  . "', '" . $programDescription  . "');   ");

$program_id = $db->lastInsertRowID();
foreach($bridges as $bridge) {
	$db->exec("  INSERT INTO program_bridge_relation (program_id, bridge_id, plug_id) VALUES ('" . $program_id  . "', '" . $bridge  . "', '" . $plug  . "');   ");
}

for($i=0; $i<=4; $i++) {
	$db->exec("  INSERT INTO program_id_bits (value, position, program_id) VALUES ('" . $programID[$i]  . "', '" . $i  . "', '" . $program_id  . "');   ");
}


}



