#include <perms.h>
extern int OUTPUTSTREAM(void);
extern float STOR(_imp_string S);
extern _imp_string RTOS(float R, int A, int B);
extern void READLINE(_imp_string *S);
extern int QUALIFIERPRESENT(_imp_string S);
_imp_string PRODUCTCODE = _imp_str_literal("PLC");
_imp_string FNAME = _imp_str_literal("PLC");
_imp_string VERSION = _imp_str_literal("2");
_imp_string RELEASE = _imp_str_literal("11");
_imp_string REVISION = _imp_str_literal("4");
extern void FATALERROR(_imp_string MESSAGE);
extern void PRINTIDENTIFICATION(void);
const int SUMMARY = 0;
const int DETAIL = 1;
static void WARNINGMESSAGE(_imp_string MESSAGE) {
  _imp_enter();
  int S = OUTPUTSTREAM();
  SELECTOUTPUT(0);
  PRINTSTRING(_imp_join(FNAME, _imp_str_literal(": ")));
  PRINTSTRING(MESSAGE);
  NEWLINE();
  SELECTOUTPUT(1);
  PRINTSTRING(_imp_join(FNAME, _imp_str_literal(": ")));
  PRINTSTRING(MESSAGE);
  NEWLINE();
  SELECTOUTPUT(S);
  _imp_leave();
}
static void PS(_imp_string S) {
  _imp_enter();
  int I;
  for (I = 1; I != LENGTH(S) + 1; I += 1) {
    if (CHARNO(S, I) >= ' ') PRINTSYMBOL(CHARNO(S, I));
  }

  _imp_leave();
}
static void PRINTLIMITS(_imp_string S, _imp_string FILE, int MODE) {
  _imp_enter();
  _imp_string A;
  _imp_string B;
  _imp_string LXS;
  _imp_string UXS;
  _imp_string LYS;
  _imp_string UYS;
  _imp_string CXS;
  _imp_string CYS;
  double CX;
  double CY;
  if (_imp_on_event(3, 4, 9)) {
    NEWLINE();
    {
      _imp_leave();
      return;
    }
  }
  if (S == _imp_str_literal("") && FILE == _imp_str_literal("")) {
    _imp_leave();
    return;
  }
  if (S == _imp_str_literal("")) {
    if (_imp_cond_resolve(FILE, NULL, _imp_str_literal(":"), FILE)) {
    }
    if (_imp_cond_resolve(FILE, NULL, _imp_str_literal("]"), FILE)) {
    }
    if (_imp_cond_resolve(FILE, FILE, _imp_str_literal(";"), NULL)) {
    }
    if (LENGTH(FILE) == 12) {
      PRINTSTRING(_imp_str_literal(" from MEBES file"));

    } else {
      PRINTSTRING(_imp_str_literal(" default from input file"));
    }
    NEWLINE();
    {
      _imp_leave();
      return;
    }
  } else if (_imp_cond_resolve(S, NULL, _imp_str_literal("EXT"), NULL)) {
    PRINTSTRING(_imp_str_literal(" extents from input file"));
    NEWLINE();
    {
      _imp_leave();
      return;
    }
  } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/;
  while (_imp_cond_resolve(S, A, _imp_str_literal("(INPUT "), B))
    S = _imp_join(A, B);
  while (_imp_cond_resolve(S, A, _imp_str_literal(")"), B)) S = _imp_join(A, B);
  while (_imp_cond_resolve(S, A, _imp_str_literal("  "), B))
    S = _imp_join(A, _imp_join(_imp_str_literal(" "), B));
  while (_imp_cond_resolve(S, A, _imp_str_literal(" "), B))
    S = _imp_join(A, _imp_join(_imp_str_literal(","), B));
  if (_imp_cond_resolve(S, LXS, _imp_str_literal(","), A)) {
  }
  if (_imp_cond_resolve(A, LYS, _imp_str_literal(","), A)) {
  }
  if (_imp_cond_resolve(A, UXS, _imp_str_literal(","), UYS)) {
  }
  if (MODE == DETAIL) {
    SPACES(10 - LENGTH(LXS));

  } else {
    SPACE();
  }
  PRINTSTRING(LXS);
  PRINTSYMBOL(',');
  PRINTSTRING(LYS);
  if (MODE == DETAIL) {
    SPACES(20 - LENGTH(LYS) - LENGTH(UXS));

  } else {
    PRINTSTRING(_imp_str_literal(" to "));
  }
  PRINTSTRING(UXS);
  PRINTSYMBOL(',');
  PRINTSTRING(UYS);
  CX = ((STOR(UXS) - STOR(LXS)) / 2) + STOR(LXS);
  CY = ((STOR(UYS) - STOR(LYS)) / 2) + STOR(LYS);
  CXS = RTOS(CX, 0, 5);
  while (CHARNO(CXS, LENGTH(CXS)) == '0') *LENGTH(CXS) = LENGTH(CXS) - 1;
  if (CHARNO(CXS, LENGTH(CXS)) == '.') *LENGTH(CXS) = LENGTH(CXS) - 1;
  CYS = RTOS(CY, 0, 5);
  while (CHARNO(CYS, LENGTH(CYS)) == '0') *LENGTH(CYS) = LENGTH(CYS) - 1;
  if (CHARNO(CYS, LENGTH(CYS)) == '.') *LENGTH(CYS) = LENGTH(CYS) - 1;
  if (MODE == DETAIL) {
    SPACES(20 - LENGTH(UYS) - LENGTH(CXS));

  } else {
    PRINTSTRING(_imp_str_literal(" centre "));
  }
  PRINTSTRING(CXS);
  PRINTSYMBOL(',');
  PRINTSTRING(CYS);
  NEWLINE();
  _imp_leave();
}
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_enter();
  const int MAXLAYER = 1000;
  const int TRUE = 1;
  const int FALSE = 0;
  const int PRIMARY = 0;
  const int SECONDARY = 1;
  const int SWITCH = 1;
  static _imp_string GASH;
  _imp_string LASTDIRECTORY;
  _imp_string THISDIRECTORY;
  _imp_string CODE;
  _imp_string PARAM;
  _imp_string FILE;
  _imp_string USER = _imp_str_literal("");
  const int EOF = 0x1827A;
  const int NSC = 0x10001;
  const int NMF = 0x182CA;
  const int TOPBIT = 0x10000000;
  _imp_string DEFNAM;
  int STATUS;
  int COUNT;
  int FILES;
  int TOTAL;
  int SOURCE;
  int HADFUNCTION = FALSE;
  _imp_string JUNK;
  _imp_string ES;
  _imp_string RS;
  _imp_string CINCNAMES[MAXLAYER - 1 + 1];
  _imp_string FUNCTIONS[MAXLAYER - 1 + 1];
  static _imp_string RESOLUTIONS[MAXLAYER - 1 + 1] = {_imp_str_literal("?")};
  static _imp_string REVERSES[MAXLAYER - 1 + 1];
  _imp_string GROWS[MAXLAYER - 1 + 1];
  _imp_string OSELECTS[MAXLAYER - 1 + 1];
  _imp_string PSELECTS[MAXLAYER - 1 + 1];
  _imp_string PINPUTS[MAXLAYER - 1 + 1];
  _imp_string PLIMITS[MAXLAYER - 1 + 1];
  _imp_string PSIZINGS[MAXLAYER - 1 + 1];
  _imp_string PSCALINGS[MAXLAYER - 1 + 1];
  _imp_string PORIENTS[MAXLAYER - 1 + 1];
  _imp_string PLAYERS[MAXLAYER - 1 + 1];
  _imp_string PSTRUCTURES[MAXLAYER - 1 + 1];
  _imp_string SSELECTS[MAXLAYER - 1 + 1];
  _imp_string SINPUTS[MAXLAYER - 1 + 1];
  _imp_string SLIMITS[MAXLAYER - 1 + 1];
  _imp_string SSIZINGS[MAXLAYER - 1 + 1];
  _imp_string SSCALINGS[MAXLAYER - 1 + 1];
  _imp_string SORIENTS[MAXLAYER - 1 + 1];
  _imp_string SLAYERS[MAXLAYER - 1 + 1];
  _imp_string SSTRUCTURES[MAXLAYER - 1 + 1];
  auto void CHECKFILE(void) {
    _imp_enter();
    _imp_string LINE;
    _imp_string ULINE;
    _imp_string CINCNAME;
    if (_imp_on_event(9)) {
      {
        _imp_leave();
        return;
      }
    }

    {
      if (_imp_on_event(9)) {
        WARNINGMESSAGE(_imp_join(
            _imp_str_literal("Warning: Unable to open .cinc file "), RS));
        _imp_signal(9, 0, 0, _imp_str_literal(""));
      }
      OPENINPUT(1, RS);
      SELECTINPUT(1);
    }
    if (_imp_cond_resolve(RS, NULL, _imp_str_literal("]"), CINCNAME)) {
    } else if (_imp_cond_resolve(RS, NULL, _imp_str_literal("/"), CINCNAME)) {
    } else {
      CINCNAME = RS;
    }
    if (!(_imp_cond_resolve(CINCNAME, CINCNAME, _imp_str_literal(".CINC"),
                            NULL) ||
          _imp_cond_resolve(CINCNAME, CINCNAME, _imp_str_literal(".cinc"),
                            NULL))) {
      _imp_leave();
      return;
    }
    {
      if (_imp_on_event(9)) {
        CLOSEINPUT();
        if (GROWS[COUNT] != _imp_str_literal("0")) {
          if (PSIZINGS[COUNT] != _imp_str_literal("0")) {
            if ((STOR(GROWS[COUNT]) > 0 && STOR(PSIZINGS[COUNT]) > 0) ||
                (STOR(GROWS[COUNT]) < 0 && STOR(PSIZINGS[COUNT]) < 0)) {
              if (FUNCTIONS[COUNT] != _imp_str_literal("XOR")) {
                SELECTOUTPUT(0);
                PRINTSTRING(_imp_join(
                    _imp_str_literal("File "),
                    _imp_join(CINCNAME,
                              _imp_str_literal(" has both GROW and Primary "
                                               "SIZE in same direction"))));
                NEWLINE();
                if (USER == _imp_str_literal("")) {
                  SELECTINPUT(0);
                  PROMPT(_imp_str_literal(
                      "Enter your initials to confirm this is OK: "));
                  READLINE(USER); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
                  ;
                }
              }
            }
          }
          if (SSIZINGS[COUNT] != _imp_str_literal("0")) {
            if ((STOR(GROWS[COUNT]) > 0 && STOR(SSIZINGS[COUNT]) > 0) ||
                (STOR(GROWS[COUNT]) < 0 && STOR(SSIZINGS[COUNT]) < 0)) {
              SELECTOUTPUT(0);
              PRINTSTRING(_imp_join(
                  _imp_str_literal("File "),
                  _imp_join(CINCNAME,
                            _imp_str_literal(" has both GROW and Secondary "
                                             "SIZE in same direction"))));
              NEWLINE();
              if (USER != _imp_str_literal("")) {
                SELECTINPUT(0);
                PROMPT(_imp_str_literal(
                    "Enter your initials to confirm this is OK: "));
                READLINE(USER); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
                ;
              }
            }
          }
        }
        {
          _imp_leave();
          return;
        }
      }
      COUNT = COUNT + 1;
      CINCNAMES[COUNT] = CINCNAME;
      PLAYERS[COUNT] = _imp_str_literal("");
      PSIZINGS[COUNT] = _imp_str_literal("0");
      PORIENTS[COUNT] = _imp_str_literal("0");
      PSCALINGS[COUNT] = _imp_str_literal("1");
      PLAYERS[COUNT] = _imp_str_literal("");
      PINPUTS[COUNT] = _imp_str_literal("");
      PLIMITS[COUNT] = _imp_str_literal("");
      PSTRUCTURES[COUNT] = _imp_str_literal("");
      SSIZINGS[COUNT] = _imp_str_literal("0");
      SORIENTS[COUNT] = _imp_str_literal("0");
      SSCALINGS[COUNT] = _imp_str_literal("1");
      SLAYERS[COUNT] = _imp_str_literal("");
      SINPUTS[COUNT] = _imp_str_literal("");
      SSTRUCTURES[COUNT] = _imp_str_literal("");
      SLIMITS[COUNT] = _imp_str_literal("");
      FUNCTIONS[COUNT] = _imp_str_literal("");
      GROWS[COUNT] = _imp_str_literal("0");
      OSELECTS[COUNT] = _imp_str_literal("no");
      PSELECTS[COUNT] = _imp_str_literal("no");
      SSELECTS[COUNT] = _imp_str_literal("no");
      REVERSES[COUNT] = _imp_str_literal("no");
      SOURCE = PRIMARY;
      for (;;) {
        READLINE(LINE);
        if (LENGTH(LINE) <= 3) continue;
        if (SUBSTRING(LINE, 1, 3) == _imp_str_literal("! #")) {
          COUNT = COUNT - 1;
          {
            _imp_leave();
            return;
          }
        }
        ULINE = LINE; /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
        ;
        CODE = SUBSTRING(ULINE, 1, 3);
        if (_imp_cond_resolve(LINE, NULL, _imp_str_literal(" "), PARAM)) {
        }
        if (CODE == _imp_str_literal("SWI")) {
          SOURCE = SOURCE ^ SWITCH;
        } else if (CODE == _imp_str_literal("INP")) {
          if (SOURCE == PRIMARY) {
            GASH = _imp_str_literal("");
            if (_imp_cond_resolve(PARAM, NULL, _imp_str_literal(":"), GASH)) {
            } else if (_imp_cond_resolve(PARAM, NULL, _imp_str_literal("]"),
                                         GASH)) {
            } else if (_imp_cond_resolve(PARAM, NULL, _imp_str_literal("/"),
                                         GASH)) {
            } else {
              GASH = PARAM;
            }
            PINPUTS[COUNT] = GASH;

          } else {
            if (_imp_cond_resolve(PARAM, NULL, _imp_str_literal(":"), GASH)) {
            } else if (_imp_cond_resolve(LINE, NULL, _imp_str_literal("]"),
                                         GASH)) {
            } else if (_imp_cond_resolve(LINE, NULL, _imp_str_literal("/"),
                                         GASH)) {
            } else {
              GASH = PARAM;
            }
            SINPUTS[COUNT] = GASH;
          }
        } else if (CODE == _imp_str_literal("LIM")) {
          if (SOURCE == PRIMARY) {
            PLIMITS[COUNT] = PARAM;

          } else {
            SLIMITS[COUNT] = PARAM;
          }
        } else if (CODE == _imp_str_literal("FUN")) {
          FUNCTIONS[COUNT] = PARAM;
          HADFUNCTION = TRUE;
        } else if (CODE == _imp_str_literal("RES")) {
          RESOLUTIONS[COUNT] = PARAM;
        } else if (CODE == _imp_str_literal("GRO")) {
          GROWS[COUNT] = PARAM;
        } else if (CODE == _imp_str_literal("SIZ")) {
          if (SOURCE == PRIMARY) {
            PSIZINGS[COUNT] = PARAM;

          } else {
            SSIZINGS[COUNT] = PARAM;
          }
        } else if (CODE == _imp_str_literal("SCA")) {
          if (SOURCE == PRIMARY) {
            PSCALINGS[COUNT] = PARAM;

          } else {
            SSCALINGS[COUNT] = PARAM;
          }
        } else if (CODE == _imp_str_literal("ORI")) {
          if (SOURCE == PRIMARY) {
            PORIENTS[COUNT] = PARAM;

          } else {
            SORIENTS[COUNT] = PARAM;
          }
        } else if (CODE == _imp_str_literal("REV")) {
          REVERSES[COUNT] = PARAM;
        } else if (CODE == _imp_str_literal("SEL")) {
          if (_imp_cond_resolve(ULINE, NULL, _imp_str_literal(" OUT"), NULL)) {
            OSELECTS[COUNT] = _imp_str_literal("YES");
          } else if (SOURCE == PRIMARY) {
            PSELECTS[COUNT] = _imp_str_literal("YES");
          } else {
            SSELECTS[COUNT] = _imp_str_literal("YES");
          }
        } else if (CODE == _imp_str_literal("LAY")) {
          if (SOURCE == PRIMARY) {
            PLAYERS[COUNT] = PARAM;

          } else {
            SLAYERS[COUNT] = PARAM;
          }
        } else if (CODE == _imp_str_literal("STR")) {
          if (SOURCE == PRIMARY) {
            PSTRUCTURES[COUNT] = PARAM;

          } else {
            SSTRUCTURES[COUNT] = PARAM;
          }
        }
      }
    }

    _imp_leave();
  }
  auto void OUTPUTINFORMATION(void) {
    _imp_enter();
    int I;
    int DIFFERENT;
    if (USER != _imp_str_literal("")) {
      PRINTSTRING(_imp_join(
          _imp_str_literal("User "),
          _imp_join(USER, _imp_str_literal(
                              " confirmed that same sign sizing was OK"))));
      NEWLINE();
    }
    NEWLINE();
    if (COUNT > 1) {
      DIFFERENT = FALSE;
      for (I = 2; I != COUNT + 1; I += 1) {
        if (PINPUTS[I] != PINPUTS[1] || PSTRUCTURES[I] != PSTRUCTURES[1])
          DIFFERENT = TRUE;
      }

    } else {
      DIFFERENT = TRUE;
    }
    if (DIFFERENT == FALSE) {
      PS(_imp_join(_imp_str_literal("All primary   files input from \""),
                   _imp_join(PINPUTS[1], _imp_str_literal("\""))));
      if (PSTRUCTURES[1] != _imp_str_literal("")) {
        PS(_imp_join(_imp_str_literal(" with structure \""),
                     _imp_join(PSTRUCTURES[1], _imp_str_literal("\""))));
      }
      NEWLINE();

    } else {
      PRINTSTRING(_imp_str_literal(
          "Filename       Primary Input                  Structure"));
      NEWLINE();
      for (I = 1; I != COUNT + 1; I += 1) {
        PS(CINCNAMES[I]);
        SPACES(15 - LENGTH(CINCNAMES[I]));
        PS(PINPUTS[I]);
        SPACE();
        SPACES(30 - LENGTH(PINPUTS[I]));
        PS(PSTRUCTURES[I]);
        NEWLINE();
      }
    }
    if (HADFUNCTION == TRUE) {
      NEWLINE();
      if (COUNT > 1) {
        DIFFERENT = FALSE;
        for (I = 2; I != COUNT + 1; I += 1) {
          if (SINPUTS[I] != SINPUTS[1] || SSTRUCTURES[I] != SSTRUCTURES[1])
            DIFFERENT = TRUE;
        }

      } else {
        DIFFERENT = TRUE;
      }
      if (DIFFERENT == FALSE) {
        PS(_imp_join(_imp_str_literal("All secondary files input from \""),
                     _imp_join(SINPUTS[1], _imp_str_literal("\""))));
        if (SSTRUCTURES[1] != _imp_str_literal("")) {
          PS(_imp_join(_imp_str_literal(" with structure \""),
                       _imp_join(SSTRUCTURES[1], _imp_str_literal("\""))));
        }
        NEWLINE();

      } else {
        PS(_imp_str_literal(
            "Filename       Secondary Input                Structure"));
        NEWLINE();
        for (I = 1; I != COUNT + 1; I += 1) {
          if (FUNCTIONS[I] == _imp_str_literal("")) continue;
          PS(CINCNAMES[I]);
          SPACES(15 - LENGTH(CINCNAMES[I]));
          PS(SINPUTS[I]);
          SPACE();
          SPACES(30 - LENGTH(SINPUTS[I]));
          PS(SSTRUCTURES[I]);
          NEWLINE();
        }
      }
    }
    NEWLINE();
    if (COUNT > 1) {
      DIFFERENT = FALSE;
      for (I = 2; I != COUNT + 1; I += 1) {
        if (PLIMITS[I] != PLIMITS[1]) DIFFERENT = TRUE;
      }

    } else {
      DIFFERENT = TRUE;
    }
    if (DIFFERENT == FALSE) {
      PS(_imp_str_literal("All primary   files have LIMITS "));
      PRINTLIMITS(PLIMITS[1], PINPUTS[1], SUMMARY);

    } else {
      PS(
          _imp_str_literal("Filename       Primary Limits   LX,LY       UX,UY  "
                           "              CX,CY"));
      NEWLINE();
      for (I = 1; I != COUNT + 1; I += 1) {
        PS(CINCNAMES[I]);
        SPACES(15 - LENGTH(CINCNAMES[I]));
        PRINTLIMITS(PLIMITS[I], PINPUTS[I], DETAIL);
      }
    }
    if (HADFUNCTION == TRUE) {
      NEWLINE();
      if (COUNT > 1) {
        DIFFERENT = FALSE;
        for (I = 2; I != COUNT + 1; I += 1) {
          if (SLIMITS[I] != SLIMITS[1] || SINPUTS[I] != SINPUTS[1])
            DIFFERENT = TRUE;
        }

      } else {
        DIFFERENT = TRUE;
      }
      if (DIFFERENT == FALSE) {
        PS(_imp_str_literal("All secondary files have LIMITS "));
        PRINTLIMITS(SLIMITS[1], SINPUTS[1], SUMMARY);

      } else {
        PS(
            _imp_str_literal("Filename       Secondary Limits   LX,LY     "
                             "UX,UY                CX,CY"));
        NEWLINE();
        for (I = 1; I != COUNT + 1; I += 1) {
          if (SLIMITS[I] == _imp_str_literal("") &&
              SINPUTS[I] == _imp_str_literal(""))
            continue;
          PS(CINCNAMES[I]);
          SPACES(15 - LENGTH(CINCNAMES[I]));
          PRINTLIMITS(SLIMITS[I], SINPUTS[I], DETAIL);
        }
      }
    }
    NEWLINE();
    PS(
        _imp_str_literal("Filename       Layers         Resol'n  Grow Sizing "
                         "Scaling Orient Reverse Select"));
    NEWLINE();
    for (I = 1; I != COUNT + 1; I += 1) {
      PS(CINCNAMES[I]);
      SPACES(15 - LENGTH(CINCNAMES[I]));
      if (PLAYERS[I] == _imp_str_literal(""))
        PLAYERS[I] = _imp_str_literal("CFLT");
      PS(PLAYERS[I]);
      SPACE();
      SPACES(14 - LENGTH(PLAYERS[I]));
      JUNK = RESOLUTIONS[I];
      if (_imp_cond_resolve(JUNK, NULL, _imp_str_literal("."), NULL)) {
        while (CHARNO(JUNK, LENGTH(JUNK)) == '0')
          *LENGTH(JUNK) = LENGTH(JUNK) - 1;
        if (CHARNO(JUNK, LENGTH(JUNK)) == '0')
          JUNK = _imp_join(JUNK, _imp_str_literal("0"));
      }
      PS(JUNK);
      SPACE();
      SPACES(12 - LENGTH(JUNK) - LENGTH(GROWS[I]));
      PS(GROWS[I]);
      SPACE();
      JUNK = PSIZINGS[I];
      if (_imp_cond_resolve(JUNK, NULL, _imp_str_literal("."), NULL)) {
        while (CHARNO(JUNK, LENGTH(JUNK)) == '0')
          *LENGTH(JUNK) = LENGTH(JUNK) - 1;
        if (CHARNO(JUNK, LENGTH(JUNK)) == '0')
          JUNK = _imp_join(JUNK, _imp_str_literal("0"));
      }
      SPACES(6 - LENGTH(JUNK));
      PS(JUNK);
      SPACE();
      SPACES(7 - LENGTH(PSCALINGS[I]));
      PS(PSCALINGS[I]);
      SPACE();
      SPACES(6 - LENGTH(PORIENTS[I]));
      PS(PORIENTS[I]);
      SPACES(4);
      PS(REVERSES[I]);
      SPACE();
      SPACES(6 - LENGTH(REVERSES[I]));
      PS(PSELECTS[I]);
      NEWLINE();
      if (FUNCTIONS[I] != _imp_str_literal("")) {
        PS(_imp_str_literal("   fun "));
        PS(FUNCTIONS[I]);
        SPACES(8 - LENGTH(FUNCTIONS[I]));
        if (SLAYERS[I] == _imp_str_literal(""))
          SLAYERS[I] = _imp_str_literal("CFLT");
        PS(SLAYERS[I]);
        SPACE();
        JUNK = SSIZINGS[I];
        if (_imp_cond_resolve(JUNK, NULL, _imp_str_literal("."), NULL)) {
          while (CHARNO(JUNK, LENGTH(JUNK)) == '0')
            *LENGTH(JUNK) = LENGTH(JUNK) - 1;
          if (CHARNO(JUNK, LENGTH(JUNK)) == '0')
            JUNK = _imp_join(JUNK, _imp_str_literal("0"));
        }
        SPACES(34 - LENGTH(SLAYERS[I]) - LENGTH(JUNK));
        PS(JUNK);
        SPACE();
        SPACES(7 - LENGTH(SSCALINGS[I]));
        PS(SSCALINGS[I]);
        SPACE();
        SPACES(6 - LENGTH(SORIENTS[I]));
        PS(SORIENTS[I]);
        SPACES(11);
        PS(SSELECTS[I]);
        NEWLINE();
      }
    }

    _imp_leave();
  }
  if (QUALIFIERPRESENT(_imp_str_literal("IDENTIFY"))) {
    PRINTIDENTIFICATION();
    if (!QUALIFIERPRESENT(_imp_str_literal("FILE"))) {
      _imp_leave();
      return;
    }
  }
  COUNT = 0;
  FILES = 0;
  for (;;) {
    if (_imp_cond_resolve(RS, NULL, _imp_str_literal("CATS_START.CINC"),
                          NULL) ||
        _imp_cond_resolve(RS, NULL, _imp_str_literal("cats_start.cinc"), NULL))
      continue;
    FILES = FILES + 1;
    CHECKFILE();
  }
  OUTPUTINFORMATION();
  {
    if (_imp_on_event(9)) {
      FATALERROR(_imp_str_literal(
          "Unable to open file PLC.LOG in the current directory"));
    }
    OPENOUTPUT(3, _imp_str_literal("plc.log"));
  }
  SELECTOUTPUT(3);
  OUTPUTINFORMATION();
  CLOSEOUTPUT();
  _imp_leave();
  exit(0);
  return (0);
}
