
(/VERSIONCHECK 2) 

(PUT '|ISTRING;new;NniC$;1| '|SPADreplace| 'MAKE-FULL-CVEC) 

(DEFUN |ISTRING;new;NniC$;1| (|n| |c| $) (MAKE-FULL-CVEC |n| |c|)) 

(PUT '|ISTRING;empty;$;2| '|SPADreplace| '(XLAM NIL (MAKE-FULL-CVEC 0))) 

(DEFUN |ISTRING;empty;$;2| ($) (MAKE-FULL-CVEC 0)) 

(DEFUN |ISTRING;empty?;$B;3| (|s| $) (EQL (QCSIZE |s|) 0)) 

(PUT '|ISTRING;#;$Nni;4| '|SPADreplace| 'QCSIZE) 

(DEFUN |ISTRING;#;$Nni;4| (|s| $) (QCSIZE |s|)) 

(PUT '|ISTRING;=;2$B;5| '|SPADreplace| 'EQUAL) 

(DEFUN |ISTRING;=;2$B;5| (|s| |t| $) (EQUAL |s| |t|)) 

(PUT '|ISTRING;<;2$B;6| '|SPADreplace| '(XLAM (|s| |t|) (CGREATERP |t| |s|))) 

(DEFUN |ISTRING;<;2$B;6| (|s| |t| $) (CGREATERP |t| |s|)) 

(PUT '|ISTRING;concat;3$;7| '|SPADreplace| 'STRCONC) 

(DEFUN |ISTRING;concat;3$;7| (|s| |t| $) (STRCONC |s| |t|)) 

(PUT '|ISTRING;copy;2$;8| '|SPADreplace| 'COPY-SEQ) 

(DEFUN |ISTRING;copy;2$;8| (|s| $) (COPY-SEQ |s|)) 

(DEFUN |ISTRING;insert;2$I$;9| (|s| |t| |i| $)
  (SPADCALL
   (SPADCALL
    (SPADCALL |s| (SPADCALL (QREFELT $ 6) (- |i| 1) (QREFELT $ 20))
              (QREFELT $ 21))
    |t| (QREFELT $ 16))
   (SPADCALL |s| (SPADCALL |i| (QREFELT $ 22)) (QREFELT $ 21)) (QREFELT $ 16))) 

(DEFUN |ISTRING;coerce;$Of;10| (|s| $) (SPADCALL |s| (QREFELT $ 26))) 

(DEFUN |ISTRING;minIndex;$I;11| (|s| $) (QREFELT $ 6)) 

(DEFUN |ISTRING;upperCase!;2$;12| (|s| $)
  (SPADCALL (ELT $ 31) |s| (QREFELT $ 33))) 

(DEFUN |ISTRING;lowerCase!;2$;13| (|s| $)
  (SPADCALL (ELT $ 36) |s| (QREFELT $ 33))) 

(DEFUN |ISTRING;latex;$S;14| (|s| $) (STRCONC "\\mbox{``" (STRCONC |s| "''}"))) 

(DEFUN |ISTRING;replace;$Us2$;15| (|s| |sg| |t| $)
  (PROG (|k| #1=#:G16855 |i| #2=#:G16854 #3=#:G16853 |r| #4=#:G16847 |h| |n|
         |m| |l|)
    (RETURN
     (SEQ
      (LETT |l| (- (SPADCALL |sg| (QREFELT $ 39)) (QREFELT $ 6))
            . #5=(|ISTRING;replace;$Us2$;15|))
      (LETT |m| (SPADCALL |s| (QREFELT $ 13)) . #5#)
      (LETT |n| (SPADCALL |t| (QREFELT $ 13)) . #5#)
      (LETT |h|
            (COND
             ((SPADCALL |sg| (QREFELT $ 40))
              (- (SPADCALL |sg| (QREFELT $ 41)) (QREFELT $ 6)))
             ('T (- (SPADCALL |s| (QREFELT $ 42)) (QREFELT $ 6))))
            . #5#)
      (COND
       ((OR (OR (< |l| 0) (NULL (< |h| |m|))) (< |h| (- |l| 1)))
        (EXIT (|error| "index out of range"))))
      (LETT |r|
            (SPADCALL
             (PROG1 (LETT #4# (+ (- |m| (+ (- |h| |l|) 1)) |n|) . #5#)
               (|check-subtype| (>= #4# 0) '(|NonNegativeInteger|) #4#))
             (SPADCALL (QREFELT $ 43)) (QREFELT $ 9))
            . #5#)
      (SEQ (LETT |i| 0 . #5#) (LETT #3# (- |l| 1) . #5#) (LETT |k| 0 . #5#)
           G190 (COND ((QSGREATERP |i| #3#) #6=(GO G191)))
           (SEQ (EXIT (QESET |r| |k| (QENUM |s| |i|))))
           (LETT |k| (PROG1 (QSADD1 |k|) (LETT |i| (QSADD1 |i|) . #5#)) . #5#)
           #7=(GO G190) G191 (EXIT NIL))
      (SEQ (LETT |i| 0 . #5#) (LETT #2# (- |n| 1) . #5#) (LETT |k| |k| . #5#)
           G190 (COND ((QSGREATERP |i| #2#) #6#))
           (SEQ (EXIT (QESET |r| |k| (QENUM |t| |i|))))
           (LETT |k| (PROG1 (+ |k| 1) (LETT |i| (QSADD1 |i|) . #5#)) . #5#) #7#
           G191 (EXIT NIL))
      (SEQ (LETT |i| (+ |h| 1) . #5#) (LETT #1# (- |m| 1) . #5#)
           (LETT |k| |k| . #5#) G190 (COND ((> |i| #1#) #6#))
           (SEQ (EXIT (QESET |r| |k| (QENUM |s| |i|))))
           (LETT |k| (PROG1 (+ |k| 1) (LETT |i| (+ |i| 1) . #5#)) . #5#) #7#
           G191 (EXIT NIL))
      (EXIT |r|))))) 

(DEFUN |ISTRING;setelt;$I2C;16| (|s| |i| |c| $)
  (SEQ
   (COND
    ((OR (< |i| (QREFELT $ 6)) (< (SPADCALL |s| (QREFELT $ 42)) |i|))
     (|error| "index out of range"))
    ('T (SEQ (QESET |s| (- |i| (QREFELT $ 6)) |c|) (EXIT |c|)))))) 

(DEFUN |ISTRING;substring?;2$IB;17| (|part| |whole| |startpos| $)
  (PROG (#1=#:G16860 #2=#:G16864 #3=#:G16865 |ip| |iw| |nw| |np|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ (LETT |np| (QCSIZE |part|) . #4=(|ISTRING;substring?;2$IB;17|))
            (LETT |nw| (QCSIZE |whole|) . #4#)
            (LETT |startpos| (- |startpos| (QREFELT $ 6)) . #4#)
            (EXIT
             (COND ((< |startpos| 0) (|error| "index out of bounds"))
                   ((< (- |nw| |startpos|) |np|) 'NIL)
                   ('T
                    (SEQ
                     (SEQ
                      (EXIT
                       (SEQ (LETT |iw| |startpos| . #4#) (LETT |ip| 0 . #4#)
                            (LETT #3# (- |np| 1) . #4#) G190
                            (COND ((QSGREATERP |ip| #3#) (GO G191)))
                            (SEQ
                             (EXIT
                              (COND
                               ((NULL
                                 (EQL (QENUM |part| |ip|)
                                      (QENUM |whole| |iw|)))
                                (PROGN
                                 (LETT #1#
                                       (PROGN (LETT #2# 'NIL . #4#) (GO #2#))
                                       . #4#)
                                 (GO #1#))))))
                            (LETT |ip|
                                  (PROG1 (QSADD1 |ip|)
                                    (LETT |iw| (+ |iw| 1) . #4#))
                                  . #4#)
                            (GO G190) G191 (EXIT NIL)))
                      #1# (EXIT #1#))
                     (EXIT 'T)))))))
      #2# (EXIT #2#))))) 

(DEFUN |ISTRING;position;2$2I;18| (|s| |t| |startpos| $)
  (PROG (|r|)
    (RETURN
     (SEQ
      (LETT |startpos| (- |startpos| (QREFELT $ 6))
            . #1=(|ISTRING;position;2$2I;18|))
      (EXIT
       (COND ((< |startpos| 0) (|error| "index out of bounds"))
             ((NULL (< |startpos| (QCSIZE |t|))) (- (QREFELT $ 6) 1))
             ('T
              (SEQ (LETT |r| (STRPOS |s| |t| |startpos| NIL) . #1#)
                   (EXIT
                    (COND ((EQ |r| NIL) (- (QREFELT $ 6) 1))
                          ('T (+ |r| (QREFELT $ 6))))))))))))) 

(DEFUN |ISTRING;position;C$2I;19| (|c| |t| |startpos| $)
  (PROG (#1=#:G16875 #2=#:G16876 |r|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (LETT |startpos| (- |startpos| (QREFELT $ 6))
              . #3=(|ISTRING;position;C$2I;19|))
        (EXIT
         (COND ((< |startpos| 0) (|error| "index out of bounds"))
               ((NULL (< |startpos| (QCSIZE |t|))) (- (QREFELT $ 6) 1))
               ('T
                (SEQ
                 (SEQ (LETT |r| |startpos| . #3#)
                      (LETT #2# (QSDIFFERENCE (QCSIZE |t|) 1) . #3#) G190
                      (COND ((> |r| #2#) (GO G191)))
                      (SEQ
                       (EXIT
                        (COND
                         ((EQL (QENUM |t| |r|) |c|)
                          (PROGN
                           (LETT #1# (+ |r| (QREFELT $ 6)) . #3#)
                           (GO #1#))))))
                      (LETT |r| (+ |r| 1) . #3#) (GO G190) G191 (EXIT NIL))
                 (EXIT (- (QREFELT $ 6) 1))))))))
      #1# (EXIT #1#))))) 

(DEFUN |ISTRING;position;Cc$2I;20| (|cc| |t| |startpos| $)
  (PROG (#1=#:G16882 #2=#:G16883 |r|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (LETT |startpos| (- |startpos| (QREFELT $ 6))
              . #3=(|ISTRING;position;Cc$2I;20|))
        (EXIT
         (COND ((< |startpos| 0) (|error| "index out of bounds"))
               ((NULL (< |startpos| (QCSIZE |t|))) (- (QREFELT $ 6) 1))
               ('T
                (SEQ
                 (SEQ (LETT |r| |startpos| . #3#)
                      (LETT #2# (QSDIFFERENCE (QCSIZE |t|) 1) . #3#) G190
                      (COND ((> |r| #2#) (GO G191)))
                      (SEQ
                       (EXIT
                        (COND
                         ((SPADCALL (QENUM |t| |r|) |cc| (QREFELT $ 49))
                          (PROGN
                           (LETT #1# (+ |r| (QREFELT $ 6)) . #3#)
                           (GO #1#))))))
                      (LETT |r| (+ |r| 1) . #3#) (GO G190) G191 (EXIT NIL))
                 (EXIT (- (QREFELT $ 6) 1))))))))
      #1# (EXIT #1#))))) 

(DEFUN |ISTRING;suffix?;2$B;21| (|s| |t| $)
  (PROG (|m| |n|)
    (RETURN
     (SEQ
      (LETT |n| (SPADCALL |t| (QREFELT $ 42)) . #1=(|ISTRING;suffix?;2$B;21|))
      (LETT |m| (SPADCALL |s| (QREFELT $ 42)) . #1#)
      (EXIT
       (COND ((< |n| |m|) 'NIL)
             ('T
              (SPADCALL |s| |t| (- (+ (QREFELT $ 6) |n|) |m|)
                        (QREFELT $ 46))))))))) 

(DEFUN |ISTRING;split;$CL;22| (|s| |c| $)
  (PROG (|l| |i| |j| |n|)
    (RETURN
     (SEQ
      (LETT |n| (SPADCALL |s| (QREFELT $ 42)) . #1=(|ISTRING;split;$CL;22|))
      (SEQ (LETT |i| (QREFELT $ 6) . #1#) G190
           (COND
            ((OR (> |i| |n|)
                 (NULL
                  (SPADCALL (SPADCALL |s| |i| (QREFELT $ 52)) |c|
                            (QREFELT $ 53))))
             #2=(GO G191)))
           (SEQ (EXIT 0)) (LETT |i| (+ |i| 1) . #1#) #3=(GO G190) G191
           (EXIT NIL))
      (LETT |l| (SPADCALL (QREFELT $ 55)) . #1#)
      (SEQ G190
           (COND
            ((NULL
              (COND ((< |n| |i|) 'NIL)
                    ('T
                     (SEQ
                      (LETT |j| (SPADCALL |c| |s| |i| (QREFELT $ 48)) . #1#)
                      (EXIT (COND ((< |j| (QREFELT $ 6)) 'NIL) ('T 'T)))))))
             #2#))
           (SEQ
            (LETT |l|
                  (SPADCALL
                   (SPADCALL |s| (SPADCALL |i| (- |j| 1) (QREFELT $ 20))
                             (QREFELT $ 21))
                   |l| (QREFELT $ 56))
                  . #1#)
            (EXIT
             (SEQ (LETT |i| |j| . #1#) G190
                  (COND
                   ((OR (> |i| |n|)
                        (NULL
                         (SPADCALL (SPADCALL |s| |i| (QREFELT $ 52)) |c|
                                   (QREFELT $ 53))))
                    #2#))
                  (SEQ (EXIT 0)) (LETT |i| (+ |i| 1) . #1#) #3# G191
                  (EXIT NIL))))
           NIL #3# G191 (EXIT NIL))
      (COND
       ((NULL (< |n| |i|))
        (LETT |l|
              (SPADCALL
               (SPADCALL |s| (SPADCALL |i| |n| (QREFELT $ 20)) (QREFELT $ 21))
               |l| (QREFELT $ 56))
              . #1#)))
      (EXIT (SPADCALL |l| (QREFELT $ 57))))))) 

(DEFUN |ISTRING;split;$CcL;23| (|s| |cc| $)
  (PROG (|l| |i| |j| |n|)
    (RETURN
     (SEQ
      (LETT |n| (SPADCALL |s| (QREFELT $ 42)) . #1=(|ISTRING;split;$CcL;23|))
      (SEQ (LETT |i| (QREFELT $ 6) . #1#) G190
           (COND
            ((OR (> |i| |n|)
                 (NULL
                  (SPADCALL (SPADCALL |s| |i| (QREFELT $ 52)) |cc|
                            (QREFELT $ 49))))
             #2=(GO G191)))
           (SEQ (EXIT 0)) (LETT |i| (+ |i| 1) . #1#) #3=(GO G190) G191
           (EXIT NIL))
      (LETT |l| (SPADCALL (QREFELT $ 55)) . #1#)
      (SEQ G190
           (COND
            ((NULL
              (COND ((< |n| |i|) 'NIL)
                    ('T
                     (SEQ
                      (LETT |j| (SPADCALL |cc| |s| |i| (QREFELT $ 50)) . #1#)
                      (EXIT (COND ((< |j| (QREFELT $ 6)) 'NIL) ('T 'T)))))))
             #2#))
           (SEQ
            (LETT |l|
                  (SPADCALL
                   (SPADCALL |s| (SPADCALL |i| (- |j| 1) (QREFELT $ 20))
                             (QREFELT $ 21))
                   |l| (QREFELT $ 56))
                  . #1#)
            (EXIT
             (SEQ (LETT |i| |j| . #1#) G190
                  (COND
                   ((OR (> |i| |n|)
                        (NULL
                         (SPADCALL (SPADCALL |s| |i| (QREFELT $ 52)) |cc|
                                   (QREFELT $ 49))))
                    #2#))
                  (SEQ (EXIT 0)) (LETT |i| (+ |i| 1) . #1#) #3# G191
                  (EXIT NIL))))
           NIL #3# G191 (EXIT NIL))
      (COND
       ((NULL (< |n| |i|))
        (LETT |l|
              (SPADCALL
               (SPADCALL |s| (SPADCALL |i| |n| (QREFELT $ 20)) (QREFELT $ 21))
               |l| (QREFELT $ 56))
              . #1#)))
      (EXIT (SPADCALL |l| (QREFELT $ 57))))))) 

(DEFUN |ISTRING;leftTrim;$C$;24| (|s| |c| $)
  (PROG (|i| |n|)
    (RETURN
     (SEQ
      (LETT |n| (SPADCALL |s| (QREFELT $ 42)) . #1=(|ISTRING;leftTrim;$C$;24|))
      (SEQ (LETT |i| (QREFELT $ 6) . #1#) G190
           (COND
            ((OR (> |i| |n|)
                 (NULL
                  (SPADCALL (SPADCALL |s| |i| (QREFELT $ 52)) |c|
                            (QREFELT $ 53))))
             (GO G191)))
           (SEQ (EXIT 0)) (LETT |i| (+ |i| 1) . #1#) (GO G190) G191 (EXIT NIL))
      (EXIT (SPADCALL |s| (SPADCALL |i| |n| (QREFELT $ 20)) (QREFELT $ 21))))))) 

(DEFUN |ISTRING;leftTrim;$Cc$;25| (|s| |cc| $)
  (PROG (|i| |n|)
    (RETURN
     (SEQ
      (LETT |n| (SPADCALL |s| (QREFELT $ 42))
            . #1=(|ISTRING;leftTrim;$Cc$;25|))
      (SEQ (LETT |i| (QREFELT $ 6) . #1#) G190
           (COND
            ((OR (> |i| |n|)
                 (NULL
                  (SPADCALL (SPADCALL |s| |i| (QREFELT $ 52)) |cc|
                            (QREFELT $ 49))))
             (GO G191)))
           (SEQ (EXIT 0)) (LETT |i| (+ |i| 1) . #1#) (GO G190) G191 (EXIT NIL))
      (EXIT (SPADCALL |s| (SPADCALL |i| |n| (QREFELT $ 20)) (QREFELT $ 21))))))) 

(DEFUN |ISTRING;rightTrim;$C$;26| (|s| |c| $)
  (PROG (#1=#:G16910 |j|)
    (RETURN
     (SEQ
      (SEQ
       (LETT |j| (SPADCALL |s| (QREFELT $ 42))
             . #2=(|ISTRING;rightTrim;$C$;26|))
       (LETT #1# (QREFELT $ 6) . #2#) G190
       (COND
        ((OR (< |j| #1#)
             (NULL
              (SPADCALL (SPADCALL |s| |j| (QREFELT $ 52)) |c| (QREFELT $ 53))))
         (GO G191)))
       (SEQ (EXIT 0)) (LETT |j| (+ |j| -1) . #2#) (GO G190) G191 (EXIT NIL))
      (EXIT
       (SPADCALL |s|
                 (SPADCALL (SPADCALL |s| (QREFELT $ 28)) |j| (QREFELT $ 20))
                 (QREFELT $ 21))))))) 

(DEFUN |ISTRING;rightTrim;$Cc$;27| (|s| |cc| $)
  (PROG (#1=#:G16914 |j|)
    (RETURN
     (SEQ
      (SEQ
       (LETT |j| (SPADCALL |s| (QREFELT $ 42))
             . #2=(|ISTRING;rightTrim;$Cc$;27|))
       (LETT #1# (QREFELT $ 6) . #2#) G190
       (COND
        ((OR (< |j| #1#)
             (NULL
              (SPADCALL (SPADCALL |s| |j| (QREFELT $ 52)) |cc|
                        (QREFELT $ 49))))
         (GO G191)))
       (SEQ (EXIT 0)) (LETT |j| (+ |j| -1) . #2#) (GO G190) G191 (EXIT NIL))
      (EXIT
       (SPADCALL |s|
                 (SPADCALL (SPADCALL |s| (QREFELT $ 28)) |j| (QREFELT $ 20))
                 (QREFELT $ 21))))))) 

(DEFUN |ISTRING;concat;L$;28| (|l| $)
  (PROG (|i| #1=#:G16923 |s| |t| #2=#:G16916 #3=#:G16915 #4=#:G16917
         #5=#:G16922)
    (RETURN
     (SEQ
      (LETT |t|
            (SPADCALL
             (PROGN
              (LETT #2# NIL . #6=(|ISTRING;concat;L$;28|))
              (SEQ (LETT |s| NIL . #6#) (LETT #5# |l| . #6#) G190
                   (COND
                    ((OR (ATOM #5#) (PROGN (LETT |s| (CAR #5#) . #6#) NIL))
                     #7=(GO G191)))
                   (SEQ
                    (EXIT
                     (PROGN
                      (LETT #4# (SPADCALL |s| (QREFELT $ 13)) . #6#)
                      (COND (#2# (LETT #3# (+ #3# #4#) . #6#))
                            ('T
                             (PROGN
                              (LETT #3# #4# . #6#)
                              (LETT #2# 'T . #6#)))))))
                   (LETT #5# (CDR #5#) . #6#) #8=(GO G190) G191 (EXIT NIL))
              (COND (#2# #3#) ('T 0)))
             (SPADCALL (QREFELT $ 43)) (QREFELT $ 9))
            . #6#)
      (LETT |i| (QREFELT $ 6) . #6#)
      (SEQ (LETT |s| NIL . #6#) (LETT #1# |l| . #6#) G190
           (COND ((OR (ATOM #1#) (PROGN (LETT |s| (CAR #1#) . #6#) NIL)) #7#))
           (SEQ (SPADCALL |t| |s| |i| (QREFELT $ 65))
                (EXIT (LETT |i| (+ |i| (SPADCALL |s| (QREFELT $ 13))) . #6#)))
           (LETT #1# (CDR #1#) . #6#) #8# G191 (EXIT NIL))
      (EXIT |t|))))) 

(DEFUN |ISTRING;copyInto!;2$I$;29| (|y| |x| |s| $)
  (PROG (|n| |m|)
    (RETURN
     (SEQ
      (LETT |m| (SPADCALL |x| (QREFELT $ 13))
            . #1=(|ISTRING;copyInto!;2$I$;29|))
      (LETT |n| (SPADCALL |y| (QREFELT $ 13)) . #1#)
      (LETT |s| (- |s| (QREFELT $ 6)) . #1#)
      (COND
       ((OR (< |s| 0) (< |n| (+ |s| |m|)))
        (EXIT (|error| "index out of range"))))
      (RPLACSTR |y| |s| |m| |x| 0 |m|) (EXIT |y|))))) 

(DEFUN |ISTRING;elt;$IC;30| (|s| |i| $)
  (COND
   ((OR (< |i| (QREFELT $ 6)) (< (SPADCALL |s| (QREFELT $ 42)) |i|))
    (|error| "index out of range"))
   ('T (QENUM |s| (- |i| (QREFELT $ 6)))))) 

(DEFUN |ISTRING;elt;$Us$;31| (|s| |sg| $)
  (PROG (|h| |l|)
    (RETURN
     (SEQ
      (LETT |l| (- (SPADCALL |sg| (QREFELT $ 39)) (QREFELT $ 6))
            . #1=(|ISTRING;elt;$Us$;31|))
      (LETT |h|
            (COND
             ((SPADCALL |sg| (QREFELT $ 40))
              (- (SPADCALL |sg| (QREFELT $ 41)) (QREFELT $ 6)))
             ('T (- (SPADCALL |s| (QREFELT $ 42)) (QREFELT $ 6))))
            . #1#)
      (COND
       ((OR (< |l| 0) (NULL (< |h| (SPADCALL |s| (QREFELT $ 13)))))
        (EXIT (|error| "index out of bounds"))))
      (EXIT (SUBSTRING |s| |l| (MAX 0 (+ (- |h| |l|) 1)))))))) 

(DEFUN |ISTRING;hash;$I;32| (|s| $)
  (PROG (|n|)
    (RETURN
     (SEQ (LETT |n| (QCSIZE |s|) |ISTRING;hash;$I;32|)
          (EXIT
           (COND ((ZEROP |n|) 0)
                 ((EQL |n| 1)
                  (SPADCALL (SPADCALL |s| (QREFELT $ 6) (QREFELT $ 52))
                            (QREFELT $ 67)))
                 ('T
                  (*
                   (*
                    (SPADCALL (SPADCALL |s| (QREFELT $ 6) (QREFELT $ 52))
                              (QREFELT $ 67))
                    (SPADCALL
                     (SPADCALL |s| (- (+ (QREFELT $ 6) |n|) 1) (QREFELT $ 52))
                     (QREFELT $ 67)))
                   (SPADCALL
                    (SPADCALL |s| (+ (QREFELT $ 6) (QUOTIENT2 |n| 2))
                              (QREFELT $ 52))
                    (QREFELT $ 67)))))))))) 

(DEFUN |ISTRING;match;2$CNni;33| (|pattern| |target| |wildcard| $)
  (|stringMatch| |pattern| |target|
                 (CHARACTER (SPADCALL |wildcard| (QREFELT $ 69))))) 

(DEFUN |ISTRING;match?;2$CB;34| (|pattern| |target| |dontcare| $)
  (PROG (|q| #1=#:G16942 |p| |i| #2=#:G16949 #3=#:G16941 |s| #4=#:G16939
         #5=#:G16937 |m| |n|)
    (RETURN
     (SEQ
      (EXIT
       (SEQ
        (LETT |n| (SPADCALL |pattern| (QREFELT $ 42))
              . #6=(|ISTRING;match?;2$CB;34|))
        (LETT |p|
              (PROG1
                  (LETT #5#
                        (SPADCALL |dontcare| |pattern|
                                  (LETT |m| (SPADCALL |pattern| (QREFELT $ 28))
                                        . #6#)
                                  (QREFELT $ 48))
                        . #6#)
                (|check-subtype| (>= #5# 0) '(|NonNegativeInteger|) #5#))
              . #6#)
        (EXIT
         (COND
          ((EQL |p| (- |m| 1)) (SPADCALL |pattern| |target| (QREFELT $ 14)))
          ('T
           (SEQ
            (COND
             ((NULL (EQL |p| |m|))
              (COND
               ((NULL
                 (SPADCALL
                  (SPADCALL |pattern| (SPADCALL |m| (- |p| 1) (QREFELT $ 20))
                            (QREFELT $ 21))
                  |target| (QREFELT $ 71)))
                (EXIT 'NIL)))))
            (LETT |i| |p| . #6#)
            (LETT |q|
                  (PROG1
                      (LETT #4#
                            (SPADCALL |dontcare| |pattern| (+ |p| 1)
                                      (QREFELT $ 48))
                            . #6#)
                    (|check-subtype| (>= #4# 0) '(|NonNegativeInteger|) #4#))
                  . #6#)
            (SEQ G190
                 (COND
                  ((NULL (COND ((EQL |q| (- |m| 1)) 'NIL) ('T 'T))) (GO G191)))
                 (SEQ
                  (LETT |s|
                        (SPADCALL |pattern|
                                  (SPADCALL (+ |p| 1) (- |q| 1) (QREFELT $ 20))
                                  (QREFELT $ 21))
                        . #6#)
                  (LETT |i|
                        (PROG1
                            (LETT #3#
                                  (SPADCALL |s| |target| |i| (QREFELT $ 47))
                                  . #6#)
                          (|check-subtype| (>= #3# 0) '(|NonNegativeInteger|)
                                           #3#))
                        . #6#)
                  (EXIT
                   (COND
                    ((EQL |i| (- |m| 1))
                     (PROGN (LETT #2# 'NIL . #6#) (GO #2#)))
                    ('T
                     (SEQ
                      (LETT |i| (+ |i| (SPADCALL |s| (QREFELT $ 13))) . #6#)
                      (LETT |p| |q| . #6#)
                      (EXIT
                       (LETT |q|
                             (PROG1
                                 (LETT #1#
                                       (SPADCALL |dontcare| |pattern| (+ |q| 1)
                                                 (QREFELT $ 48))
                                       . #6#)
                               (|check-subtype| (>= #1# 0)
                                                '(|NonNegativeInteger|) #1#))
                             . #6#)))))))
                 NIL (GO G190) G191 (EXIT NIL))
            (COND
             ((NULL (EQL |p| |n|))
              (COND
               ((NULL
                 (SPADCALL
                  (SPADCALL |pattern| (SPADCALL (+ |p| 1) |n| (QREFELT $ 20))
                            (QREFELT $ 21))
                  |target| (QREFELT $ 51)))
                (EXIT 'NIL)))))
            (EXIT 'T)))))))
      #2# (EXIT #2#))))) 

(DEFUN |IndexedString| (#1=#:G16959)
  (PROG ()
    (RETURN
     (PROG (#2=#:G16960)
       (RETURN
        (COND
         ((LETT #2#
                (|lassocShiftWithFunction| (LIST (|devaluate| #1#))
                                           (HGET |$ConstructorCache|
                                                 '|IndexedString|)
                                           '|domainEqualList|)
                . #3=(|IndexedString|))
          (|CDRwithIncrement| #2#))
         ('T
          (UNWIND-PROTECT (PROG1 (|IndexedString;| #1#) (LETT #2# T . #3#))
            (COND
             ((NOT #2#) (HREM |$ConstructorCache| '|IndexedString|))))))))))) 

(DEFUN |IndexedString;| (|#1|)
  (PROG (#1=#:G16958 |pv$| #2=#:G16956 #3=#:G16957 $ |dv$| DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #4=(|IndexedString|))
      (LETT |dv$| (LIST '|IndexedString| DV$1) . #4#)
      (LETT $ (GETREFV 84) . #4#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3
                (LETT |pv$|
                      (|buildPredVector| 0 0
                                         (LIST
                                          (|HasCategory| (|Character|)
                                                         '(|SetCategory|))
                                          (|HasCategory| (|Character|)
                                                         '(|ConvertibleTo|
                                                           (|InputForm|)))
                                          (LETT #3#
                                                (|HasCategory| (|Character|)
                                                               '(|OrderedSet|))
                                                . #4#)
                                          (OR #3#
                                              (|HasCategory| (|Character|)
                                                             '(|SetCategory|)))
                                          (|HasCategory| (|Integer|)
                                                         '(|OrderedSet|))
                                          (LETT #2#
                                                (AND
                                                 (|HasCategory| (|Character|)
                                                                '(|Evalable|
                                                                  (|Character|)))
                                                 (|HasCategory| (|Character|)
                                                                '(|SetCategory|)))
                                                . #4#)
                                          (OR
                                           (AND
                                            (|HasCategory| (|Character|)
                                                           '(|Evalable|
                                                             (|Character|)))
                                            #3#)
                                           #2#)))
                      . #4#))
      (|haddProp| |$ConstructorCache| '|IndexedString| (LIST DV$1) (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (AND (LETT #1# (|HasCategory| $ '(|finiteAggregate|)) . #4#)
           (|augmentPredVector| $ 128))
      (AND #1# (|HasCategory| (|Character|) '(|SetCategory|))
           (|augmentPredVector| $ 256))
      (AND (|HasCategory| $ '(|shallowlyMutable|)) (|augmentPredVector| $ 512))
      (AND (|HasCategory| $ '(|shallowlyMutable|)) #3#
           (|augmentPredVector| $ 1024))
      $)))) 

(MAKEPROP '|IndexedString| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|NonNegativeInteger|)
              (|Character|) |ISTRING;new;NniC$;1| |ISTRING;empty;$;2|
              (|Boolean|) |ISTRING;empty?;$B;3| |ISTRING;#;$Nni;4|
              |ISTRING;=;2$B;5| |ISTRING;<;2$B;6| |ISTRING;concat;3$;7|
              |ISTRING;copy;2$;8| (|Integer|) (|UniversalSegment| 18)
              (0 . SEGMENT) |ISTRING;elt;$Us$;31| (6 . SEGMENT)
              |ISTRING;insert;2$I$;9| (|String|) (|OutputForm|)
              (11 . |outputForm|) |ISTRING;coerce;$Of;10|
              |ISTRING;minIndex;$I;11| (|CharacterClass|) (16 . |upperCase|)
              (20 . |upperCase|) (|Mapping| 8 8) (25 . |map!|)
              |ISTRING;upperCase!;2$;12| (31 . |lowerCase|) (35 . |lowerCase|)
              |ISTRING;lowerCase!;2$;13| |ISTRING;latex;$S;14| (40 . |lo|)
              (45 . |hasHi|) (50 . |hi|) (55 . |maxIndex|) (60 . |space|)
              |ISTRING;replace;$Us2$;15| |ISTRING;setelt;$I2C;16|
              |ISTRING;substring?;2$IB;17| |ISTRING;position;2$2I;18|
              |ISTRING;position;C$2I;19| (64 . |member?|)
              |ISTRING;position;Cc$2I;20| |ISTRING;suffix?;2$B;21|
              |ISTRING;elt;$IC;30| (70 . =) (|List| $$) (76 . |empty|)
              (80 . |concat|) (86 . |reverse!|) (|List| $)
              |ISTRING;split;$CL;22| |ISTRING;split;$CcL;23|
              |ISTRING;leftTrim;$C$;24| |ISTRING;leftTrim;$Cc$;25|
              |ISTRING;rightTrim;$C$;26| |ISTRING;rightTrim;$Cc$;27|
              |ISTRING;copyInto!;2$I$;29| |ISTRING;concat;L$;28| (91 . |ord|)
              |ISTRING;hash;$I;32| (96 . |coerce|) |ISTRING;match;2$CNni;33|
              (101 . |prefix?|) |ISTRING;match?;2$CB;34| (|List| 8) (|List| 75)
              (|Equation| 8) (|Mapping| 8 8 8) (|InputForm|) (|SingleInteger|)
              (|Mapping| 11 8) (|Mapping| 11 8 8) (|Void|)
              (|Union| 8 '"failed") (|List| 18))
           '#(~= 107 |upperCase!| 113 |upperCase| 118 |trim| 123 |swap!| 135
              |suffix?| 142 |substring?| 148 |split| 155 |sorted?| 167 |sort!|
              178 |sort| 189 |smaller?| 200 |size?| 206 |setelt| 212 |select|
              226 |sample| 232 |rightTrim| 236 |reverse!| 248 |reverse| 253
              |replace| 258 |removeDuplicates| 265 |remove| 270 |reduce| 282
              |qsetelt!| 303 |qelt| 310 |prefix?| 316 |position| 322 |parts|
              355 |new| 360 |more?| 366 |minIndex| 372 |min| 377 |merge| 383
              |members| 396 |member?| 401 |maxIndex| 407 |max| 412 |match?| 418
              |match| 425 |map!| 432 |map| 438 |lowerCase!| 451 |lowerCase| 456
              |less?| 461 |leftTrim| 467 |latex| 479 |insert| 484 |indices| 498
              |index?| 503 |hash| 509 |first| 519 |find| 524 |fill!| 530
              |every?| 536 |eval| 542 |eq?| 568 |entry?| 574 |entries| 580
              |empty?| 585 |empty| 590 |elt| 594 |delete| 619 |count| 631
              |copyInto!| 643 |copy| 650 |convert| 655 |construct| 660 |concat|
              665 |coerce| 688 |any?| 698 >= 704 > 710 = 716 <= 722 < 728 |#|
              734)
           'NIL
           (CONS
            (|makeByteWordVec2| 7 '(0 0 0 0 0 0 3 0 3 0 0 7 4 0 0 0 0 7 1 2 4))
            (CONS
             '#(|StringAggregate&| |OneDimensionalArrayAggregate&|
                |FiniteLinearAggregate&| |LinearAggregate&| |IndexedAggregate&|
                |Collection&| |OrderedSet&| |HomogeneousAggregate&| NIL
                |Aggregate&| |EltableAggregate&| |Evalable&| |SetCategory&| NIL
                NIL NIL NIL |InnerEvalable&| NIL NIL |BasicType&|)
             (CONS
              '#((|StringAggregate|) (|OneDimensionalArrayAggregate| 8)
                 (|FiniteLinearAggregate| 8) (|LinearAggregate| 8)
                 (|IndexedAggregate| 18 8) (|Collection| 8) (|OrderedSet|)
                 (|HomogeneousAggregate| 8) (|Comparable|) (|Aggregate|)
                 (|EltableAggregate| 18 8) (|Evalable| 8) (|SetCategory|)
                 (|shallowlyMutable|) (|finiteAggregate|) (|Type|)
                 (|Eltable| 18 8) (|InnerEvalable| 8 8) (|CoercibleTo| 25)
                 (|ConvertibleTo| 77) (|BasicType|))
              (|makeByteWordVec2| 83
                                  '(2 19 0 18 18 20 1 19 0 18 22 1 25 0 24 26 0
                                    29 0 30 1 8 0 0 31 2 0 0 32 0 33 0 29 0 35
                                    1 8 0 0 36 1 19 18 0 39 1 19 11 0 40 1 19
                                    18 0 41 1 0 18 0 42 0 8 0 43 2 29 11 8 0 49
                                    2 8 11 0 0 53 0 54 0 55 2 54 0 2 0 56 1 54
                                    0 0 57 1 8 18 0 67 1 24 0 8 69 2 0 11 0 0
                                    71 2 1 11 0 0 1 1 0 0 0 34 1 0 0 0 1 2 0 0
                                    0 8 1 2 0 0 0 29 1 3 10 81 0 18 18 1 2 0 11
                                    0 0 51 3 0 11 0 0 18 46 2 0 58 0 29 60 2 0
                                    58 0 8 59 1 3 11 0 1 2 0 11 80 0 1 1 11 0 0
                                    1 2 10 0 80 0 1 1 3 0 0 1 2 0 0 80 0 1 2 3
                                    11 0 0 1 2 0 11 0 7 1 3 10 8 0 19 8 1 3 10
                                    8 0 18 8 45 2 8 0 79 0 1 0 0 0 1 2 0 0 0 8
                                    63 2 0 0 0 29 64 1 10 0 0 1 1 0 0 0 1 3 0 0
                                    0 19 0 44 1 9 0 0 1 2 9 0 8 0 1 2 8 0 79 0
                                    1 4 9 8 76 0 8 8 1 2 8 8 76 0 1 3 8 8 76 0
                                    8 1 3 10 8 0 18 8 1 2 0 8 0 18 1 2 0 11 0 0
                                    71 2 1 18 8 0 1 3 1 18 8 0 18 48 3 0 18 29
                                    0 18 50 3 0 18 0 0 18 47 2 0 18 79 0 1 1 8
                                    73 0 1 2 0 0 7 8 9 2 0 11 0 7 1 1 5 18 0 28
                                    2 3 0 0 0 1 2 3 0 0 0 1 3 0 0 80 0 0 1 1 8
                                    73 0 1 2 9 11 8 0 1 1 5 18 0 42 2 3 0 0 0 1
                                    3 0 11 0 0 8 72 3 0 7 0 0 8 70 2 10 0 32 0
                                    33 3 0 0 76 0 0 1 2 0 0 32 0 1 1 0 0 0 37 1
                                    0 0 0 1 2 0 11 0 7 1 2 0 0 0 8 61 2 0 0 0
                                    29 62 1 1 24 0 38 3 0 0 0 0 18 23 3 0 0 8 0
                                    18 1 1 0 83 0 1 2 0 11 18 0 1 1 1 78 0 1 1
                                    0 18 0 68 1 5 8 0 1 2 0 82 79 0 1 2 10 0 0
                                    8 1 2 8 11 79 0 1 3 6 0 0 73 73 1 3 6 0 0 8
                                    8 1 2 6 0 0 74 1 2 6 0 0 75 1 2 0 11 0 0 1
                                    2 9 11 8 0 1 1 0 73 0 1 1 0 11 0 12 0 0 0
                                    10 2 0 0 0 0 1 2 0 0 0 19 21 2 0 8 0 18 52
                                    3 0 8 0 18 8 1 2 0 0 0 19 1 2 0 0 0 18 1 2
                                    9 7 8 0 1 2 8 7 79 0 1 3 10 0 0 0 18 65 1 0
                                    0 0 17 1 2 77 0 1 1 0 0 73 1 1 0 0 58 66 2
                                    0 0 8 0 1 2 0 0 0 0 16 2 0 0 0 8 1 1 1 25 0
                                    27 1 0 0 8 1 2 8 11 79 0 1 2 3 11 0 0 1 2 3
                                    11 0 0 1 2 1 11 0 0 14 2 3 11 0 0 1 2 3 11
                                    0 0 15 1 8 7 0 13)))))
           '|lookupComplete|)) 
