
(/VERSIONCHECK 2) 

(DEFUN |NFINTBAS;frobMatrix| (|rb| |rbinv| |rbden| |p| $)
  (PROG (#1=#:G1817 |mat| |a| #2=#:G1823 |j| #3=#:G1824 |jj| #4=#:G1821 |i|
         #5=#:G1822 |ii| |v| |b| |n|)
    (RETURN
     (SEQ (LETT |n| (SPADCALL (QREFELT $ 9)) . #6=(|NFINTBAS;frobMatrix|))
          (LETT |b| (SPADCALL (QREFELT $ 11)) . #6#)
          (LETT |v| (MAKEARR1 |n| (|spadConstant| $ 13)) . #6#)
          (SEQ (LETT |ii| 1 . #6#)
               (LETT #5# (SPADCALL |rb| (QREFELT $ 18)) . #6#)
               (LETT |i| (SPADCALL |v| (QREFELT $ 16)) . #6#)
               (LETT #4# (QVSIZE |v|) . #6#) G190
               (COND ((OR (> |i| #4#) (QSGREATERP |ii| #5#)) #7=(GO G191)))
               (SEQ (LETT |a| (|spadConstant| $ 13) . #6#)
                    (SEQ (LETT |jj| 1 . #6#)
                         (LETT #3# (SPADCALL |rb| (QREFELT $ 19)) . #6#)
                         (LETT |j| (SPADCALL |b| (QREFELT $ 16)) . #6#)
                         (LETT #2# (QVSIZE |b|) . #6#) G190
                         (COND ((OR (> |j| #2#) (QSGREATERP |jj| #3#)) #7#))
                         (SEQ
                          (EXIT
                           (LETT |a|
                                 (SPADCALL |a|
                                           (SPADCALL
                                            (QAREF2O |rb| |ii| |jj| 1 1)
                                            (QAREF1O |b| |j| 1) (QREFELT $ 20))
                                           (QREFELT $ 21))
                                 . #6#)))
                         (LETT |j|
                               (PROG1 (+ |j| 1)
                                 (LETT |jj| (QSADD1 |jj|) . #6#))
                               . #6#)
                         #8=(GO G190) G191 (EXIT NIL))
                    (EXIT
                     (QSETAREF1O |v| |i| (SPADCALL |a| |p| (QREFELT $ 23)) 1)))
               (LETT |i| (PROG1 (+ |i| 1) (LETT |ii| (QSADD1 |ii|) . #6#))
                     . #6#)
               #8# G191 (EXIT NIL))
          (LETT |mat| (SPADCALL (SPADCALL |v| (QREFELT $ 24)) (QREFELT $ 25))
                . #6#)
          (EXIT
           (PROG2
               (LETT #1#
                     (SPADCALL
                      (SPADCALL (SPADCALL |rbinv| (QREFELT $ 25)) |mat|
                                (QREFELT $ 26))
                      (EXPT |rbden| |p|) (QREFELT $ 28))
                     . #6#)
               (QCDR #1#)
             (|check-union| (QEQCAR #1# 0) (|Matrix| (|Integer|)) #1#))))))) 

(DEFUN |NFINTBAS;wildPrimes| (|factoredDisc| |n| $)
  (PROG (|ans| #1=#:G1845 |f|)
    (RETURN
     (SEQ (LETT |ans| NIL . #2=(|NFINTBAS;wildPrimes|))
          (SEQ (LETT |f| NIL . #2#)
               (LETT #1# (SPADCALL |factoredDisc| (QREFELT $ 32)) . #2#) G190
               (COND
                ((OR (ATOM #1#) (PROGN (LETT |f| (CAR #1#) . #2#) NIL))
                 (GO G191)))
               (SEQ
                (EXIT
                 (COND
                  ((< 1 (QCDR |f|))
                   (COND
                    ((NULL (< |n| (QCAR |f|)))
                     (LETT |ans| (CONS (QCAR |f|) |ans|) . #2#)))))))
               (LETT #1# (CDR #1#) . #2#) (GO G190) G191 (EXIT NIL))
          (EXIT |ans|))))) 

(DEFUN |NFINTBAS;tameProduct| (|factoredDisc| |n| $)
  (PROG (|ans| #1=#:G1852 |f|)
    (RETURN
     (SEQ (LETT |ans| 1 . #2=(|NFINTBAS;tameProduct|))
          (SEQ (LETT |f| NIL . #2#)
               (LETT #1# (SPADCALL |factoredDisc| (QREFELT $ 32)) . #2#) G190
               (COND
                ((OR (ATOM #1#) (PROGN (LETT |f| (CAR #1#) . #2#) NIL))
                 (GO G191)))
               (SEQ
                (EXIT
                 (COND
                  ((< 1 (QCDR |f|))
                   (COND
                    ((< |n| (QCAR |f|))
                     (LETT |ans| (* (QCAR |f|) |ans|) . #2#)))))))
               (LETT #1# (CDR #1#) . #2#) (GO G190) G191 (EXIT NIL))
          (EXIT |ans|))))) 

(DEFUN |NFINTBAS;integralBasis;R;4| ($)
  (PROG (|runningRbinv| |runningRb| |runningRbden| |mat| |disc| |rbden| |rbinv|
         |rb| |lb| #1=#:G1864 |p| |matrixOut| |sing| |wilds| |factoredDisc|
         |disc0| |n| |traceMat|)
    (RETURN
     (SEQ
      (LETT |traceMat| (SPADCALL (QREFELT $ 35))
            . #2=(|NFINTBAS;integralBasis;R;4|))
      (LETT |n| (SPADCALL (QREFELT $ 9)) . #2#)
      (LETT |disc| (SPADCALL |traceMat| (QREFELT $ 36)) . #2#)
      (LETT |disc0| |disc| . #2#)
      (LETT |factoredDisc| (SPADCALL |disc0| (QREFELT $ 38)) . #2#)
      (LETT |wilds| (|NFINTBAS;wildPrimes| |factoredDisc| |n| $) . #2#)
      (LETT |sing| (|NFINTBAS;tameProduct| |factoredDisc| |n| $) . #2#)
      (LETT |runningRb| (SPADCALL |n| 1 (QREFELT $ 39)) . #2#)
      (LETT |runningRbinv| (SPADCALL |n| 1 (QREFELT $ 39)) . #2#)
      (LETT |runningRbden| 1 . #2#)
      (COND
       ((EQL |sing| 1)
        (COND
         ((NULL |wilds|)
          (EXIT (VECTOR |runningRb| |runningRbden| |runningRbinv|))))))
      (LETT |matrixOut| (SPADCALL |n| 0 (QREFELT $ 39)) . #2#)
      (SEQ (LETT |p| NIL . #2#) (LETT #1# |wilds| . #2#) G190
           (COND
            ((OR (ATOM #1#) (PROGN (LETT |p| (CAR #1#) . #2#) NIL)) (GO G191)))
           (SEQ
            (LETT |lb|
                  (|NFINTBAS;iWildLocalIntegralBasis| |matrixOut| |disc| |p| $)
                  . #2#)
            (LETT |rb| (QVELT |lb| 0) . #2#)
            (LETT |rbinv| (QVELT |lb| 2) . #2#)
            (LETT |rbden| (QVELT |lb| 1) . #2#)
            (LETT |disc| (QVELT |lb| 3) . #2#)
            (EXIT
             (COND
              ((SPADCALL 1 |rbden| (QREFELT $ 41))
               (SEQ
                (LETT |mat|
                      (SPADCALL (SPADCALL |rbden| |runningRb| (QREFELT $ 42))
                                (SPADCALL |runningRbden| |rb| (QREFELT $ 42))
                                (QREFELT $ 43))
                      . #2#)
                (LETT |runningRbden| (* |runningRbden| |rbden|) . #2#)
                (LETT |runningRb|
                      (SPADCALL (SPADCALL |mat| |runningRbden| (QREFELT $ 45))
                                (QREFELT $ 46))
                      . #2#)
                (EXIT
                 (LETT |runningRbinv|
                       (SPADCALL |runningRb| |runningRbden| (QREFELT $ 48))
                       . #2#)))))))
           (LETT #1# (CDR #1#) . #2#) (GO G190) G191 (EXIT NIL))
      (LETT |lb|
            (|NFINTBAS;iTameLocalIntegralBasis| |traceMat| |disc| |sing| $)
            . #2#)
      (LETT |rb| (QVELT |lb| 0) . #2#) (LETT |rbinv| (QVELT |lb| 2) . #2#)
      (LETT |rbden| (QVELT |lb| 1) . #2#) (LETT |disc| (QVELT |lb| 3) . #2#)
      (COND
       ((SPADCALL 1 |rbden| (QREFELT $ 41))
        (SEQ
         (LETT |mat|
               (SPADCALL (SPADCALL |rbden| |runningRb| (QREFELT $ 42))
                         (SPADCALL |runningRbden| |rb| (QREFELT $ 42))
                         (QREFELT $ 43))
               . #2#)
         (LETT |runningRbden| (* |runningRbden| |rbden|) . #2#)
         (LETT |runningRb|
               (SPADCALL (SPADCALL |mat| |runningRbden| (QREFELT $ 45))
                         (QREFELT $ 46))
               . #2#)
         (EXIT
          (LETT |runningRbinv|
                (SPADCALL |runningRb| |runningRbden| (QREFELT $ 48)) . #2#)))))
      (EXIT (VECTOR |runningRb| |runningRbden| |runningRbinv|)))))) 

(DEFUN |NFINTBAS;localIntegralBasis;IR;5| (|p| $)
  (PROG (|lb| |disc| |n| |traceMat|)
    (RETURN
     (SEQ
      (LETT |traceMat| (SPADCALL (QREFELT $ 35))
            . #1=(|NFINTBAS;localIntegralBasis;IR;5|))
      (LETT |n| (SPADCALL (QREFELT $ 9)) . #1#)
      (LETT |disc| (SPADCALL |traceMat| (QREFELT $ 36)) . #1#)
      (EXIT
       (COND
        ((QEQCAR (SPADCALL |disc| (* |p| |p|) (QREFELT $ 51)) 1)
         (VECTOR (SPADCALL |n| 1 (QREFELT $ 39)) 1
                 (SPADCALL |n| 1 (QREFELT $ 39))))
        (#2='T
         (SEQ
          (LETT |lb|
                (COND
                 ((< (SPADCALL (QREFELT $ 9)) |p|)
                  (|NFINTBAS;iTameLocalIntegralBasis| |traceMat| |disc| |p| $))
                 (#2#
                  (|NFINTBAS;iWildLocalIntegralBasis|
                   (SPADCALL |n| 0 (QREFELT $ 39)) |disc| |p| $)))
                . #1#)
          (EXIT (VECTOR (QVELT |lb| 0) (QVELT |lb| 1) (QVELT |lb| 2))))))))))) 

(DEFUN |NFINTBAS;iTameLocalIntegralBasis| (|traceMat| |disc| |sing| $)
  (PROG (|tfm| #1=#:G1875 #2=#:G1881 |oldIndex| |indexChange| |rbinv| |rbden|
         |rb| |g| |index| |idinv| |id| |disc0| |n|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (LETT |n| (SPADCALL (QREFELT $ 9))
              . #3=(|NFINTBAS;iTameLocalIntegralBasis|))
        (LETT |disc0| |disc| . #3#)
        (LETT |rb| (SPADCALL |n| 1 (QREFELT $ 39)) . #3#)
        (LETT |rbinv| (SPADCALL |n| 1 (QREFELT $ 39)) . #3#)
        (LETT |rbden| 1 . #3#) (LETT |index| 1 . #3#) (LETT |oldIndex| 1 . #3#)
        (LETT |tfm| |traceMat| . #3#)
        (EXIT
         (SEQ G190 NIL
              (SEQ
               (LETT |idinv|
                     (SPADCALL
                      (SPADCALL (SPADCALL |tfm| |sing| (QREFELT $ 45))
                                (QREFELT $ 46))
                      (QREFELT $ 25))
                     . #3#)
               (LETT |id|
                     (SPADCALL (SPADCALL |idinv| |sing| (QREFELT $ 53))
                               (QREFELT $ 54))
                     . #3#)
               (LETT |idinv| (SPADCALL |id| |sing| (QREFELT $ 48)) . #3#)
               (LETT |rbinv|
                     (SPADCALL (SPADCALL |id| |rb| (QREFELT $ 26))
                               (SPADCALL |rbinv| |idinv| (QREFELT $ 26))
                               (* |sing| |rbden|) (QREFELT $ 56))
                     . #3#)
               (LETT |index| (SPADCALL |rbinv| (QREFELT $ 57)) . #3#)
               (LETT |rb|
                     (SPADCALL
                      (SPADCALL |rbinv| (* |sing| |rbden|) (QREFELT $ 53))
                      (QREFELT $ 54))
                     . #3#)
               (LETT |g| (SPADCALL |rb| |sing| |n| (QREFELT $ 58)) . #3#)
               (COND
                ((SPADCALL 1 |g| (QREFELT $ 41))
                 (LETT |rb|
                       (PROG2
                           (LETT #1# (SPADCALL |rb| |g| (QREFELT $ 28)) . #3#)
                           (QCDR #1#)
                         (|check-union| (QEQCAR #1# 0) (|Matrix| (|Integer|))
                                        #1#))
                       . #3#)))
               (LETT |rbden| (* |rbden| (QUOTIENT2 |sing| |g|)) . #3#)
               (LETT |rbinv| (SPADCALL |rb| |rbden| (QREFELT $ 48)) . #3#)
               (LETT |disc| (QUOTIENT2 |disc0| (* |index| |index|)) . #3#)
               (LETT |indexChange| (QUOTIENT2 |index| |oldIndex|) . #3#)
               (LETT |oldIndex| |index| . #3#)
               (EXIT
                (COND
                 ((EQL |indexChange| 1)
                  (PROGN
                   (LETT #2# (VECTOR |rb| |rbden| |rbinv| |disc|) . #3#)
                   (GO #2#)))
                 ('T
                  (LETT |tfm|
                        (PROG2
                            (LETT #1#
                                  (SPADCALL
                                   (SPADCALL
                                    (SPADCALL |rb| |traceMat| (QREFELT $ 26))
                                    (SPADCALL |rb| (QREFELT $ 25))
                                    (QREFELT $ 26))
                                   (* |rbden| |rbden|) (QREFELT $ 28))
                                  . #3#)
                            (QCDR #1#)
                          (|check-union| (QEQCAR #1# 0) (|Matrix| (|Integer|))
                                         #1#))
                        . #3#)))))
              NIL (GO G190) G191 (EXIT NIL)))))
      #2# (EXIT #2#))))) 

(DEFUN |NFINTBAS;iWildLocalIntegralBasis| (|matrixOut| |disc| |p| $)
  (PROG (#1=#:G1919 #2=#:G1923 |oldIndex| |indexChange| |rbinv| |rbden| |rb|
         |index| |idinv| |id| |tfm| #3=#:G1917 |lp| #4=#:G1883 |p2| |disc0|
         |n|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (LETT |n| (SPADCALL (QREFELT $ 9))
              . #5=(|NFINTBAS;iWildLocalIntegralBasis|))
        (LETT |disc0| |disc| . #5#)
        (LETT |rb| (SPADCALL |n| 1 (QREFELT $ 39)) . #5#)
        (LETT |rbinv| (SPADCALL |n| 1 (QREFELT $ 39)) . #5#)
        (LETT |rbden| 1 . #5#) (LETT |index| 1 . #5#) (LETT |oldIndex| 1 . #5#)
        (LETT |p2| (* |p| |p|) . #5#)
        (LETT |lp|
              (SPADCALL
               (PROG1 (LETT #4# |p| . #5#)
                 (|check-subtype| (>= #4# 0) '(|NonNegativeInteger|) #4#))
               |n| (QREFELT $ 59))
              . #5#)
        (EXIT
         (SEQ G190 NIL
              (SEQ
               (LETT |tfm|
                     (SPADCALL
                      (|NFINTBAS;frobMatrix| |rb| |rbinv| |rbden|
                       (PROG1 (LETT #3# |p| . #5#)
                         (|check-subtype| (>= #3# 0) '(|NonNegativeInteger|)
                                          #3#))
                       $)
                      |lp| (QREFELT $ 60))
                     . #5#)
               (LETT |idinv|
                     (SPADCALL
                      (SPADCALL (SPADCALL |tfm| |p| (QREFELT $ 45))
                                (QREFELT $ 46))
                      (QREFELT $ 25))
                     . #5#)
               (LETT |id|
                     (SPADCALL (SPADCALL |idinv| |p| (QREFELT $ 53))
                               (QREFELT $ 54))
                     . #5#)
               (LETT |idinv| (SPADCALL |id| |p| (QREFELT $ 48)) . #5#)
               (LETT |rbinv|
                     (SPADCALL (SPADCALL |id| |rb| (QREFELT $ 26))
                               (SPADCALL |rbinv| |idinv| (QREFELT $ 26))
                               (* |p| |rbden|) (QREFELT $ 56))
                     . #5#)
               (LETT |index| (SPADCALL |rbinv| (QREFELT $ 57)) . #5#)
               (LETT |rb|
                     (SPADCALL
                      (SPADCALL |rbinv| (* |p| |rbden|) (QREFELT $ 53))
                      (QREFELT $ 54))
                     . #5#)
               (COND
                ((EQL (SPADCALL |rb| |matrixOut| |p| |n| (QREFELT $ 61)) 1)
                 (LETT |rb| |matrixOut| . #5#))
                ('T (LETT |rbden| (* |p| |rbden|) . #5#)))
               (LETT |rbinv| (SPADCALL |rb| |rbden| (QREFELT $ 48)) . #5#)
               (LETT |indexChange| (QUOTIENT2 |index| |oldIndex|) . #5#)
               (LETT |oldIndex| |index| . #5#)
               (LETT |disc| (QUOTIENT2 |disc| (* |indexChange| |indexChange|))
                     . #5#)
               (EXIT
                (COND
                 ((EQL |indexChange| 1)
                  (PROGN
                   (LETT #2# (VECTOR |rb| |rbden| |rbinv| |disc|) . #5#)
                   (GO #2#)))
                 ('T
                  (SEQ
                   (EXIT
                    (COND
                     ((NULL (EQL (GCD |p2| |disc|) |p2|))
                      (PROGN
                       (LETT #1#
                             (PROGN
                              (LETT #2# (VECTOR |rb| |rbden| |rbinv| |disc|)
                                    . #5#)
                              (GO #2#))
                             . #5#)
                       (GO #1#)))))
                   #1# (EXIT #1#))))))
              NIL (GO G190) G191 (EXIT NIL)))))
      #2# (EXIT #2#))))) 

(DEFUN |NFINTBAS;discriminant;I;8| ($)
  (PROG (#1=#:G1926 |index| |rbden| |rb| |intBas| |disc|)
    (RETURN
     (SEQ
      (LETT |disc| (SPADCALL (SPADCALL (QREFELT $ 35)) (QREFELT $ 36))
            . #2=(|NFINTBAS;discriminant;I;8|))
      (LETT |intBas| (SPADCALL (QREFELT $ 50)) . #2#)
      (LETT |rb| (QVELT |intBas| 0) . #2#)
      (LETT |rbden| (QVELT |intBas| 1) . #2#)
      (LETT |index|
            (PROG2
                (LETT #1#
                      (SPADCALL (EXPT |rbden| (SPADCALL (QREFELT $ 9)))
                                (SPADCALL |rb| (QREFELT $ 36)) (QREFELT $ 51))
                      . #2#)
                (QCDR #1#)
              (|check-union| (QEQCAR #1# 0) (|Integer|) #1#))
            . #2#)
      (EXIT
       (PROG2
           (LETT #1# (SPADCALL |disc| (* |index| |index|) (QREFELT $ 51))
                 . #2#)
           (QCDR #1#)
         (|check-union| (QEQCAR #1# 0) (|Integer|) #1#))))))) 

(DEFUN |NumberFieldIntegralBasis| (&REST #1=#:G1930)
  (PROG ()
    (RETURN
     (PROG (#2=#:G1931)
       (RETURN
        (COND
         ((LETT #2#
                (|lassocShiftWithFunction| (|devaluateList| #1#)
                                           (HGET |$ConstructorCache|
                                                 '|NumberFieldIntegralBasis|)
                                           '|domainEqualList|)
                . #3=(|NumberFieldIntegralBasis|))
          (|CDRwithIncrement| #2#))
         ('T
          (UNWIND-PROTECT
              (PROG1 (APPLY (|function| |NumberFieldIntegralBasis;|) #1#)
                (LETT #2# T . #3#))
            (COND
             ((NOT #2#)
              (HREM |$ConstructorCache| '|NumberFieldIntegralBasis|))))))))))) 

(DEFUN |NumberFieldIntegralBasis;| (|#1| |#2|)
  (PROG (|pv$| $ |dv$| DV$2 DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #1=(|NumberFieldIntegralBasis|))
      (LETT DV$2 (|devaluate| |#2|) . #1#)
      (LETT |dv$| (LIST '|NumberFieldIntegralBasis| DV$1 DV$2) . #1#)
      (LETT $ (GETREFV 63) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
      (|haddProp| |$ConstructorCache| '|NumberFieldIntegralBasis|
                  (LIST DV$1 DV$2) (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 7 |#2|)
      $)))) 

(MAKEPROP '|NumberFieldIntegralBasis| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
              (|PositiveInteger|) (0 . |rank|) (|Vector| $) (4 . |basis|)
              (8 . |Zero|) (12 . |Zero|) (|Integer|) (|Vector| 7)
              (16 . |minIndex|) (|Matrix| 14) (21 . |maxRowIndex|)
              (26 . |maxColIndex|) (31 . *) (37 . +) (|NonNegativeInteger|)
              (43 . ^) (49 . |coordinates|) (54 . |transpose|) (59 . *)
              (|Union| $ '"failed") (65 . |exquo|)
              (|Record| (|:| |factor| 14) (|:| |exponent| 14)) (|List| 29)
              (|Factored| 14) (71 . |factors|) (76 . |One|) (80 . |One|)
              (84 . |traceMatrix|) (88 . |determinant|)
              (|IntegerFactorizationPackage| 14) (93 . |factor|)
              (98 . |scalarMatrix|) (|Boolean|) (104 . |sizeLess?|) (110 . *)
              (116 . |vertConcat|) (|ModularHermitianRowReduction| 14)
              (122 . |rowEchelon|) (128 . |squareTop|)
              (|TriangularMatrixOperations| 14 (|Vector| 14) (|Vector| 14) 17)
              (133 . |UpTriBddDenomInv|)
              (|Record| (|:| |basis| 17) (|:| |basisDen| 14)
                        (|:| |basisInv| 17))
              |NFINTBAS;integralBasis;R;4| (139 . |exquo|)
              |NFINTBAS;localIntegralBasis;IR;5| (145 . |LowTriBddDenomInv|)
              (151 . |rowEchelon|) (|IntegralBasisTools| 14 6 7)
              (156 . |idealiser|) (163 . |diagonalProduct|) (168 . |matrixGcd|)
              (175 . |leastPower|) (181 . ^) (187 . |divideIfCan!|)
              |NFINTBAS;discriminant;I;8|)
           '#(|localIntegralBasis| 195 |integralBasis| 200 |discriminant| 204)
           'NIL
           (CONS (|makeByteWordVec2| 1 'NIL)
                 (CONS '#()
                       (CONS '#()
                             (|makeByteWordVec2| 62
                                                 '(0 7 8 9 0 7 10 11 0 6 0 12 0
                                                   7 0 13 1 15 14 0 16 1 17 14
                                                   0 18 1 17 14 0 19 2 7 0 14 0
                                                   20 2 7 0 0 0 21 2 7 0 0 22
                                                   23 1 7 17 10 24 1 17 0 0 25
                                                   2 17 0 0 0 26 2 17 27 0 14
                                                   28 1 31 30 0 32 0 6 0 33 0 7
                                                   0 34 0 7 17 35 1 17 14 0 36
                                                   1 37 31 14 38 2 17 0 22 14
                                                   39 2 14 40 0 0 41 2 17 0 14
                                                   0 42 2 17 0 0 0 43 2 44 17
                                                   17 14 45 1 17 0 0 46 2 47 17
                                                   17 14 48 2 14 27 0 0 51 2 47
                                                   17 17 14 53 1 17 0 0 54 3 55
                                                   17 17 17 14 56 1 55 14 17 57
                                                   3 55 14 17 14 22 58 2 55 22
                                                   22 22 59 2 17 0 0 22 60 4 55
                                                   14 17 17 14 14 61 1 0 49 14
                                                   52 0 0 49 50 0 0 14 62)))))
           '|lookupComplete|)) 
