
(/VERSIONCHECK 2) 

(DEFUN |CSTTOOLS;cycleElt;STU;1| (|x| $)
  (PROG (|i| |y| #0=#:G1834 #1=#:G1828)
    (RETURN
      (SEQ (EXIT (SEQ (LETT |y| |x| . #2=(|CSTTOOLS;cycleElt;STU;1|))
                      (EXIT (SEQ (LETT |i| 0 . #2#) G190 NIL
                                 (SEQ (EXIT
                                       (COND
                                         ((OR
                                           (SPADCALL |y| (QREFELT $ 9))
                                           (SPADCALL |y|
                                            (QREFELT $ 10)))
                                          (PROGN
                                            (LETT #0#
                                             (CONS 1 "failed") . #2#)
                                            (GO #0#)))
                                         ('T
                                          (SEQ
                                           (LETT |y|
                                            (SPADCALL |y|
                                             (QREFELT $ 11)) . #2#)
                                           (COND
                                             ((ODDP |i|)
                                              (LETT |x|
                                               (SPADCALL |x|
                                                (QREFELT $ 11)) . #2#)))
                                           (EXIT
                                            (COND
                                              ((SPADCALL |x| |y|
                                                (QREFELT $ 12))
                                               (PROGN
                                                 (LETT #1#
                                                  (PROGN
                                                    (LETT #0#
                                                     (CONS 0 |y|) . #2#)
                                                    (GO #0#)) . #2#)
                                                 (GO #1#)))))))))
                                      #1# (EXIT #1#))
                                 (LETT |i| (QSADD1 |i|) . #2#)
                                 (GO G190) G191 (EXIT NIL)))))
           #0# (EXIT #0#))))) 

(DEFUN |CSTTOOLS;computeCycleLength;STNni;2| (|cycElt| $)
  (PROG (|i| |y| #0=#:G1838 #1=#:G1835)
    (RETURN
      (SEQ (EXIT (SEQ (LETT |y| |cycElt|
                            . #2=(|CSTTOOLS;computeCycleLength;STNni;2|))
                      (EXIT (SEQ (LETT |i| 1 . #2#) G190 NIL
                                 (SEQ (EXIT
                                       (SEQ
                                        (LETT |y|
                                         (SPADCALL |y| (QREFELT $ 11)) . #2#)
                                        (EXIT
                                         (COND
                                           ((SPADCALL |y| |cycElt|
                                             (QREFELT $ 12))
                                            (PROGN
                                              (LETT #1#
                                               (PROGN
                                                 (LETT #0# |i| . #2#)
                                                 (GO #0#)) . #2#)
                                              (GO #1#)))))))
                                      #1# (EXIT #1#))
                                 (LETT |i| (QSADD1 |i|) . #2#)
                                 (GO G190) G191 (EXIT NIL)))))
           #0# (EXIT #0#))))) 

(DEFUN |CSTTOOLS;computeCycleEntry;3ST;3| (|x| |cycElt| $)
  (PROG (#0=#:G1843 |y|)
    (RETURN
      (SEQ (EXIT (SEQ (LETT |y|
                            (SPADCALL |x|
                                (SPADCALL |cycElt| (QREFELT $ 16))
                                (QREFELT $ 17))
                            . #1=(|CSTTOOLS;computeCycleEntry;3ST;3|))
                      (EXIT (SEQ G190 NIL
                                 (SEQ (EXIT
                                       (COND
                                         ((SPADCALL |x| |y|
                                           (QREFELT $ 12))
                                          (PROGN
                                            (LETT #0# |x| . #1#)
                                            (GO #0#)))
                                         ('T
                                          (SEQ
                                           (LETT |x|
                                            (SPADCALL |x|
                                             (QREFELT $ 11)) . #1#)
                                           (EXIT
                                            (LETT |y|
                                             (SPADCALL |y|
                                              (QREFELT $ 11)) . #1#)))))))
                                 NIL (GO G190) G191 (EXIT NIL)))))
           #0# (EXIT #0#))))) 

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

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

(MAKEPROP '|CyclicStreamTools| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|Boolean|) (0 . |explicitlyEmpty?|) (5 . |lazy?|)
             (10 . |rst|) (15 . |eq?|) (|Union| 7 '"failed")
             |CSTTOOLS;cycleElt;STU;1| (|NonNegativeInteger|)
             |CSTTOOLS;computeCycleLength;STNni;2| (21 . |rest|)
             |CSTTOOLS;computeCycleEntry;3ST;3|)
          '#(|cycleElt| 27 |computeCycleLength| 32 |computeCycleEntry|
             37)
          'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 18
                                '(1 7 8 0 9 1 7 8 0 10 1 7 0 0 11 2 7 8
                                  0 0 12 2 7 0 0 15 17 1 0 13 7 14 1 0
                                  15 7 16 2 0 7 7 7 18)))))
          '|lookupComplete|)) 
