.PS
# SwitchesMan.m4
cct_init

define(`Below',`at last [].s+(0,-(8 ifelse(`$1',,,+10*(`$1')))bp__)')

movewid = 0.25

# Row 1
  right_; {
    lswitch; {"\tt ls{}witch" at last [].s Below}
    move right_
    lswitch(,,O); {"\tt (,{,}O)" at last [].s Below}
    move right_
    lswitch(,,C); {"\tt (,{,}C)" at last [].s Below}
    move right_
    lswitch(,,DA); {"\tt (,{,}DA)" at last [].s Below}
    move right_
    lswitch(,,dDO); {"\tt (,{,}dDO)" at last [].s Below}
    move right_
    lswitch(,,uDC); {"\tt (,{,}uDC)" at last [].s Below}
    }
# Row 2
  move down 0.4; right_; {
    lswitch(,,K); {"\tt (,{,}K)" at last [].s Below}
    move right_
    lswitch(,,KD); {"\tt (,{,}KD)" at last [].s Below}
    move right_
    lswitch(,,KOD); {"\tt (,{,}KOD)" at last [].s Below}
    move right_
    lswitch(,,KCD); {"\tt (,{,}KCD)" at last [].s Below}
    move right_
    bswitch; {"\tt `bswitch'" at last [].s Below}
    move right_
    bswitch(,,C); {"\tt (,{,}C)" at last [].s Below}
    }
# Row 3
  move down 0.45; right_; {
    D: dswitch(,,); {"\tt ds{}witch(,{},)" at last [].s Below}
    thinlines_
    {spline <- from last [].B.c up 0.1 then up 0.05 left 0.1; "\tt B" rjust}
    thicklines_
    move right_
    dswitch(,,WdBK); {"\tt (,{,}WdBK)" at last [].s Below}
    thinlines_
    { spline <- from 0.5 along_(last [].B) up 0.1 then up 0.10 left 0.1
      {"\tt B" rjust} }
    { spline <- from last [].K right 0.1 then right 0.05 up 0.15
      {"\tt K" above }}
    thicklines_
    move right_
    dswitch(,,WBmdDK); {"\tt (,{,}WBmdDK)" at last [].s Below}
    move right_
    dswitch(,,WBKTr); {"\tt (,{,}WBKTr)" at last [].s Below}
    move right_
    dswitch(,,WdBL); {"\tt (,{,}WdBL)" at last [].s Below}
    move right_
    dswitch(,,WBSd); {"\tt (,{,}WBSd)" at last [].s Below}
    }
# Row 4
  move down 0.4; right_; {
    dswitch(,,WBCb); {"\tt (,{,}WBCb)" at last [].s Below}
    move right_
    dswitch(,,WBcCb); {"\tt (,{,}WBcCb)" wid 50bp__ at last [].s Below}
    move right_
    dswitch(,,WBcDI); {"\tt (,{,}WBcDI)" at last [].s Below}
    thinlines_
    {arrow <- from last [].DI.start up_ 0.1 right_ 0.15; "\tt DI" ljust}
    thicklines_
    move right_
#   dswitch(,,WBDI); {"\tt (,{,}WBDI)" at last [].s Below}
    dswitch(,,WBKCo); {"\tt (,{,}WBKCo)" at last [].s Below}
    move right_
    dswitch(,,WBFDI); {"\tt (,{,}WBFDI)" at last [].s Below}
    move right_
    dswitch(,,WBFSd); {"\tt (,{,}WBFSd)" at last [].s Below}
    }
# Row 5
  move down 0.4; right_; {
    dswitch(,,WBMMR); {"\tt (,{,}WBMMR)" at last [].s Below}
    move right_
    dswitch(,,WBMM); {"\tt (,{,}WBMM)" at last [].s Below}
    move right_
    dswitch(,,WBMR); {"\tt (,{,}WBMR)" at last [].s Below}
    move right_
    dswitch(,,WBEL); {"\tt (,{,}WBEL)" at last [].s Below}
    move right_
    dswitch(,,WBLE); {"\tt (,{,}WBLE)" at last [].s Below}
    move right_
    dswitch(,,WBoKEL); {"\tt (,{,}WBoKEL)" at last [].s Below}
    }
# Row 6
  move down moveht+2bp__; right_; {
    dswitch(,,WBTh); {"\tt (,{,}WBTh)" at last [].s Below}
    move right_
    dswitch(,,WBKC); {"\tt (,{,}WBKC)" at last [].s Below}
    thinlines_
    { arrow <- from last [].C.c left 0.2; "\tt C" rjust }
    thicklines_
    move right_
    dswitch(,,WBM); {"\tt (,{,}WBM)" at last [].s Below}
    move right_
    dswitch(,,WBCO); {"\tt (,{,}WBCO)" at last [].s Below}
    move right_
    dswitch(,,WBMP); {"\tt (,{,}WBMP)" at last [].s Below}
    move down_ 2bp__ then right_
    dswitch(,,WBoKCP); {"\tt (,{,}WBoKCP)" at last [].s Below}
    }
# Row 7
  move down moveht*7/6; right_; {
    dswitch(,,WBCY); {"\tt (,{,}WBCY)" at last [].s Below}
    move right_
    dswitch(,,WBCZ); {"\tt (,{,}WBCZ)" at last [].s Below}
    move right_
    dswitch(,,WBCE); {"\tt (,{,}WBCE)" at last [].s Below}
    move right_
    dswitch(,,WBRH); {"\tt (,{,}WBRH)" at last [].s Below}
    move right_
    dswitch(,,WBRdH); {"\tt (,{,}WBRdH)" at last [].s Below}
    move right_
    dswitch(,,WBRHH); {"\tt (,{,}WBRHH)" at last [].s Below}
    }
# Row 8
  move down moveht; right_; {
    move down_ 2bp__; right_
    dswitch(,,WBPr); {"\tt (,{,}WBPr)" at last [].s Below}
    move right_
    dswitch(,,WBPrT); {"\tt (,{,}WBPrT)" at last [].s Below}
    move down_ 6bp__ then right_
    dswitch(,,WBPrM); {"\tt (,{,}WBPrM)" at last [].s Below}
    move right_
    dswitch(,,WBDIGX,text=W)
      {"\tt (,{,}WBDIGX," ljust at last line.start+(0,-15bp__) \
        "\tt text=W)" ljust}
    move right_
    dswitch(,,WBDIGC,circle="M")
      {"\tt (,{,}WBDIGC," ljust at last line.start+(0,-15bp__) \
        "\tt circle=\"M\")" ljust}
    move right_
    dswitch(,,WBcDIGC,circle="M") #
      {"\tt (,{,}WBcDIGC," ljust at last line.start+(0,-15bp__) \
        "\tt circle=\"M\")" ljust}
    }

.PE
