(declare (block) (standard-bindings) (extended-bindings))
(begin
  (define std/net/httpd/mux#default-http-mux::t
    (make-struct-type
     'std/net/httpd/mux#default-http-mux::t
     '#f
     '2
     'default-http-mux
     '()
     ':init!
     '(t default)))
  (define std/net/httpd/mux#default-http-mux?
    (make-struct-predicate std/net/httpd/mux#default-http-mux::t))
  (define std/net/httpd/mux#make-default-http-mux
    (lambda _$args2101_
      (apply make-struct-instance
             std/net/httpd/mux#default-http-mux::t
             _$args2101_)))
  (define std/net/httpd/mux#default-http-mux-t
    (make-struct-field-accessor std/net/httpd/mux#default-http-mux::t '0))
  (define std/net/httpd/mux#default-http-mux-default
    (make-struct-field-accessor std/net/httpd/mux#default-http-mux::t '1))
  (define std/net/httpd/mux#default-http-mux-t-set!
    (make-struct-field-mutator std/net/httpd/mux#default-http-mux::t '0))
  (define std/net/httpd/mux#default-http-mux-default-set!
    (make-struct-field-mutator std/net/httpd/mux#default-http-mux::t '1))
  (define std/net/httpd/mux#&default-http-mux-t
    (make-struct-field-unchecked-accessor
     std/net/httpd/mux#default-http-mux::t
     '0))
  (define std/net/httpd/mux#&default-http-mux-default
    (make-struct-field-unchecked-accessor
     std/net/httpd/mux#default-http-mux::t
     '1))
  (define std/net/httpd/mux#&default-http-mux-t-set!
    (make-struct-field-unchecked-mutator
     std/net/httpd/mux#default-http-mux::t
     '0))
  (define std/net/httpd/mux#&default-http-mux-default-set!
    (make-struct-field-unchecked-mutator
     std/net/httpd/mux#default-http-mux::t
     '1))
  (define std/net/httpd/mux#default-http-mux:::init!__%
    (lambda (_self2088_ _default2089_)
      (if (let ((__tmp5702
                 (let () (declare (not safe)) (##vector-length _self2088_))))
            (declare (not safe))
            (##fx< '2 __tmp5702))
          (begin
            (let ((__tmp5703
                   (let ((__obj5701
                          (make-object std/misc/sync#sync-hash::t '2)))
                     (std/misc/sync#sync-hash:::init! __obj5701 (make-table))
                     __obj5701)))
              (declare (not safe))
              (##vector-set! _self2088_ '1 __tmp5703))
            (let ()
              (declare (not safe))
              (##vector-set! _self2088_ '2 _default2089_)))
          (error '"struct-instance-init!: too many arguments for struct"
                 _self2088_))))
  (define std/net/httpd/mux#default-http-mux:::init!__0
    (lambda (_self2094_)
      (let ((_default2096_ '#f))
        (std/net/httpd/mux#default-http-mux:::init!__%
         _self2094_
         _default2096_))))
  (define std/net/httpd/mux#default-http-mux:::init!
    (lambda _g5705_
      (let ((_g5704_ (let () (declare (not safe)) (##length _g5705_))))
        (cond ((let () (declare (not safe)) (##fx= _g5704_ 1))
               (apply std/net/httpd/mux#default-http-mux:::init!__0 _g5705_))
              ((let () (declare (not safe)) (##fx= _g5704_ 2))
               (apply std/net/httpd/mux#default-http-mux:::init!__% _g5705_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/net/httpd/mux#default-http-mux:::init!
                _g5705_))))))
  (bind-method!
   std/net/httpd/mux#default-http-mux::t
   ':init!
   std/net/httpd/mux#default-http-mux:::init!
   '#f)
  (define std/net/httpd/mux#default-http-mux::put-handler!
    (lambda (_self1960_ _host1961_ _path1962_ _handler1963_)
      (std/misc/sync#sync-hash-put!
       (let ()
         (declare (not safe))
         (##unchecked-structure-ref
          _self1960_
          '1
          std/net/httpd/mux#default-http-mux::t
          '#f))
       _path1962_
       _handler1963_)))
  (bind-method!
   std/net/httpd/mux#default-http-mux::t
   'put-handler!
   std/net/httpd/mux#default-http-mux::put-handler!
   '#f)
  (define std/net/httpd/mux#default-http-mux::get-handler
    (lambda (_self1834_ _host1835_ _path1836_)
      (std/misc/sync#sync-hash-ref
       (let ()
         (declare (not safe))
         (##unchecked-structure-ref
          _self1834_
          '1
          std/net/httpd/mux#default-http-mux::t
          '#f))
       _path1836_
       (let ()
         (declare (not safe))
         (##unchecked-structure-ref
          _self1834_
          '2
          std/net/httpd/mux#default-http-mux::t
          '#f)))))
  (bind-method!
   std/net/httpd/mux#default-http-mux::t
   'get-handler
   std/net/httpd/mux#default-http-mux::get-handler
   '#f)
  (define std/net/httpd/mux#recursive-http-mux::t
    (make-struct-type
     'std/net/httpd/mux#recursive-http-mux::t
     std/net/httpd/mux#default-http-mux::t
     '0
     'recursive-http-mux
     '()
     '#f
     '()))
  (define std/net/httpd/mux#recursive-http-mux?
    (make-struct-predicate std/net/httpd/mux#recursive-http-mux::t))
  (define std/net/httpd/mux#make-recursive-http-mux
    (lambda _$args1709_
      (apply make-struct-instance
             std/net/httpd/mux#recursive-http-mux::t
             _$args1709_)))
  (define std/net/httpd/mux#recursive-http-mux:::init!
    std/net/httpd/mux#default-http-mux:::init!)
  (bind-method!
   std/net/httpd/mux#recursive-http-mux::t
   ':init!
   std/net/httpd/mux#recursive-http-mux:::init!
   '#f)
  (define std/net/httpd/mux#recursive-http-mux::get-handler
    (lambda (_self1569_ _host1570_ _path1571_)
      (std/misc/sync#sync-hash-do
       (let ()
         (declare (not safe))
         (##unchecked-structure-ref
          _self1569_
          '1
          std/net/httpd/mux#default-http-mux::t
          '#f))
       (lambda (_ht1573_)
         (let _lp1575_ ((_path1577_ _path1571_))
           (let ((_$e1579_ (table-ref _ht1573_ _path1577_ '#f)))
             (if _$e1579_
                 _$e1579_
                 (let ((_$e1582_ (string-rindex _path1577_ '#\/)))
                   (if _$e1582_
                       ((lambda (_ix1585_)
                          (_lp1575_ (substring _path1577_ '0 _ix1585_)))
                        _$e1582_)
                       (let ()
                         (declare (not safe))
                         (##unchecked-structure-ref
                          _self1569_
                          '2
                          std/net/httpd/mux#default-http-mux::t
                          '#f)))))))))))
  (bind-method!
   std/net/httpd/mux#recursive-http-mux::t
   'get-handler
   std/net/httpd/mux#recursive-http-mux::get-handler
   '#f)
  (define std/net/httpd/mux#static-http-mux::t
    (make-struct-type
     'std/net/httpd/mux#static-http-mux::t
     '#f
     '2
     'static-http-mux
     '()
     ':init!
     '(t default)))
  (define std/net/httpd/mux#static-http-mux?
    (make-struct-predicate std/net/httpd/mux#static-http-mux::t))
  (define std/net/httpd/mux#make-static-http-mux
    (lambda _$args1444_
      (apply make-struct-instance
             std/net/httpd/mux#static-http-mux::t
             _$args1444_)))
  (define std/net/httpd/mux#static-http-mux-t
    (make-struct-field-accessor std/net/httpd/mux#static-http-mux::t '0))
  (define std/net/httpd/mux#static-http-mux-default
    (make-struct-field-accessor std/net/httpd/mux#static-http-mux::t '1))
  (define std/net/httpd/mux#static-http-mux-t-set!
    (make-struct-field-mutator std/net/httpd/mux#static-http-mux::t '0))
  (define std/net/httpd/mux#static-http-mux-default-set!
    (make-struct-field-mutator std/net/httpd/mux#static-http-mux::t '1))
  (define std/net/httpd/mux#&static-http-mux-t
    (make-struct-field-unchecked-accessor
     std/net/httpd/mux#static-http-mux::t
     '0))
  (define std/net/httpd/mux#&static-http-mux-default
    (make-struct-field-unchecked-accessor
     std/net/httpd/mux#static-http-mux::t
     '1))
  (define std/net/httpd/mux#&static-http-mux-t-set!
    (make-struct-field-unchecked-mutator
     std/net/httpd/mux#static-http-mux::t
     '0))
  (define std/net/httpd/mux#&static-http-mux-default-set!
    (make-struct-field-unchecked-mutator
     std/net/httpd/mux#static-http-mux::t
     '1))
  (define std/net/httpd/mux#static-http-mux:::init!__%
    (lambda (_self1428_ _tab1429_ _default1430_)
      (if (let ((__tmp5706
                 (let () (declare (not safe)) (##vector-length _self1428_))))
            (declare (not safe))
            (##fx< '2 __tmp5706))
          (begin
            (let ()
              (declare (not safe))
              (##vector-set! _self1428_ '1 _tab1429_))
            (let ()
              (declare (not safe))
              (##vector-set! _self1428_ '2 _default1430_)))
          (error '"struct-instance-init!: too many arguments for struct"
                 _self1428_))))
  (define std/net/httpd/mux#static-http-mux:::init!__0
    (lambda (_self1435_ _tab1436_)
      (let ((_default1438_ '#f))
        (if (let ((__tmp5707
                   (let () (declare (not safe)) (##vector-length _self1435_))))
              (declare (not safe))
              (##fx< '2 __tmp5707))
            (begin
              (let ()
                (declare (not safe))
                (##vector-set! _self1435_ '1 _tab1436_))
              (let ()
                (declare (not safe))
                (##vector-set! _self1435_ '2 _default1438_)))
            (error '"struct-instance-init!: too many arguments for struct"
                   _self1435_)))))
  (define std/net/httpd/mux#static-http-mux:::init!
    (lambda _g5709_
      (let ((_g5708_ (let () (declare (not safe)) (##length _g5709_))))
        (cond ((let () (declare (not safe)) (##fx= _g5708_ 2))
               (apply std/net/httpd/mux#static-http-mux:::init!__0 _g5709_))
              ((let () (declare (not safe)) (##fx= _g5708_ 3))
               (apply (lambda (_self1440_ _tab1441_ _default1442_)
                        (if (let ((__tmp5710
                                   (let ()
                                     (declare (not safe))
                                     (##vector-length _self1440_))))
                              (declare (not safe))
                              (##fx< '2 __tmp5710))
                            (begin
                              (let ()
                                (declare (not safe))
                                (##vector-set! _self1440_ '1 _tab1441_))
                              (let ()
                                (declare (not safe))
                                (##vector-set! _self1440_ '2 _default1442_)))
                            (error '"struct-instance-init!: too many arguments for struct"
                                   _self1440_)))
                      _g5709_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/net/httpd/mux#static-http-mux:::init!
                _g5709_))))))
  (bind-method!
   std/net/httpd/mux#static-http-mux::t
   ':init!
   std/net/httpd/mux#static-http-mux:::init!
   '#f)
  (define std/net/httpd/mux#static-http-mux::put-handler!
    (lambda (_self1300_ _host1301_ _path1302_ _handler1303_)
      (error '"mux does not support dynamic handler registration")))
  (bind-method!
   std/net/httpd/mux#static-http-mux::t
   'put-handler!
   std/net/httpd/mux#static-http-mux::put-handler!
   '#f)
  (define std/net/httpd/mux#static-http-mux::get-handler
    (lambda (_self1174_ _host1175_ _path1176_)
      (table-ref
       (let ()
         (declare (not safe))
         (##unchecked-structure-ref
          _self1174_
          '1
          std/net/httpd/mux#static-http-mux::t
          '#f))
       _path1176_
       (let ()
         (declare (not safe))
         (##unchecked-structure-ref
          _self1174_
          '2
          std/net/httpd/mux#static-http-mux::t
          '#f)))))
  (bind-method!
   std/net/httpd/mux#static-http-mux::t
   'get-handler
   std/net/httpd/mux#static-http-mux::get-handler
   '#f)
  (define std/net/httpd/mux#recursive-static-http-mux::t
    (make-struct-type
     'std/net/httpd/mux#recursive-static-http-mux::t
     std/net/httpd/mux#static-http-mux::t
     '0
     'recursive-static-http-mux
     '()
     '#f
     '()))
  (define std/net/httpd/mux#recursive-static-http-mux?
    (make-struct-predicate std/net/httpd/mux#recursive-static-http-mux::t))
  (define std/net/httpd/mux#make-recursive-static-http-mux
    (lambda _$args1049_
      (apply make-struct-instance
             std/net/httpd/mux#recursive-static-http-mux::t
             _$args1049_)))
  (define std/net/httpd/mux#recursive-static-http-mux:::init!
    std/net/httpd/mux#static-http-mux:::init!)
  (bind-method!
   std/net/httpd/mux#recursive-static-http-mux::t
   ':init!
   std/net/httpd/mux#recursive-static-http-mux:::init!
   '#f)
  (define std/net/httpd/mux#recursive-static-http-mux::get-handler
    (lambda (_self909_ _host910_ _path911_)
      (let ((_ht913_ (let ()
                       (declare (not safe))
                       (##unchecked-structure-ref
                        _self909_
                        '1
                        std/net/httpd/mux#static-http-mux::t
                        '#f))))
        (let _lp915_ ((_path917_ _path911_))
          (let ((_$e919_ (table-ref _ht913_ _path917_ '#f)))
            (if _$e919_
                _$e919_
                (let ((_$e922_ (string-rindex _path917_ '#\/)))
                  (if _$e922_
                      ((lambda (_ix925_)
                         (_lp915_ (substring _path917_ '0 _ix925_)))
                       _$e922_)
                      (let ()
                        (declare (not safe))
                        (##unchecked-structure-ref
                         _self909_
                         '2
                         std/net/httpd/mux#static-http-mux::t
                         '#f))))))))))
  (bind-method!
   std/net/httpd/mux#recursive-static-http-mux::t
   'get-handler
   std/net/httpd/mux#recursive-static-http-mux::get-handler
   '#f)
  (define std/net/httpd/mux#custom-http-mux::t
    (make-struct-type
     'std/net/httpd/mux#custom-http-mux::t
     '#f
     '2
     'custom-http-mux
     '((final: . #t))
     ':init!
     '(get put)))
  (define std/net/httpd/mux#custom-http-mux?
    (make-struct-predicate std/net/httpd/mux#custom-http-mux::t))
  (define std/net/httpd/mux#make-custom-http-mux
    (lambda _$args784_
      (apply make-struct-instance
             std/net/httpd/mux#custom-http-mux::t
             _$args784_)))
  (define std/net/httpd/mux#custom-http-mux-get
    (make-struct-field-accessor std/net/httpd/mux#custom-http-mux::t '0))
  (define std/net/httpd/mux#custom-http-mux-put
    (make-struct-field-accessor std/net/httpd/mux#custom-http-mux::t '1))
  (define std/net/httpd/mux#custom-http-mux-get-set!
    (make-struct-field-mutator std/net/httpd/mux#custom-http-mux::t '0))
  (define std/net/httpd/mux#custom-http-mux-put-set!
    (make-struct-field-mutator std/net/httpd/mux#custom-http-mux::t '1))
  (define std/net/httpd/mux#&custom-http-mux-get
    (make-struct-field-unchecked-accessor
     std/net/httpd/mux#custom-http-mux::t
     '0))
  (define std/net/httpd/mux#&custom-http-mux-put
    (make-struct-field-unchecked-accessor
     std/net/httpd/mux#custom-http-mux::t
     '1))
  (define std/net/httpd/mux#&custom-http-mux-get-set!
    (make-struct-field-unchecked-mutator
     std/net/httpd/mux#custom-http-mux::t
     '0))
  (define std/net/httpd/mux#&custom-http-mux-put-set!
    (make-struct-field-unchecked-mutator
     std/net/httpd/mux#custom-http-mux::t
     '1))
  (define std/net/httpd/mux#custom-http-mux:::init!__%
    (lambda (_self768_ _get769_ _put770_)
      (if (let ((__tmp5711
                 (let () (declare (not safe)) (##vector-length _self768_))))
            (declare (not safe))
            (##fx< '2 __tmp5711))
          (begin
            (let () (declare (not safe)) (##vector-set! _self768_ '1 _get769_))
            (let ()
              (declare (not safe))
              (##vector-set! _self768_ '2 _put770_)))
          (error '"struct-instance-init!: too many arguments for struct"
                 _self768_))))
  (define std/net/httpd/mux#custom-http-mux:::init!__0
    (lambda (_self775_ _get776_)
      (let ((_put778_ void))
        (if (let ((__tmp5712
                   (let () (declare (not safe)) (##vector-length _self775_))))
              (declare (not safe))
              (##fx< '2 __tmp5712))
            (begin
              (let ()
                (declare (not safe))
                (##vector-set! _self775_ '1 _get776_))
              (let ()
                (declare (not safe))
                (##vector-set! _self775_ '2 _put778_)))
            (error '"struct-instance-init!: too many arguments for struct"
                   _self775_)))))
  (define std/net/httpd/mux#custom-http-mux:::init!
    (lambda _g5714_
      (let ((_g5713_ (let () (declare (not safe)) (##length _g5714_))))
        (cond ((let () (declare (not safe)) (##fx= _g5713_ 2))
               (apply std/net/httpd/mux#custom-http-mux:::init!__0 _g5714_))
              ((let () (declare (not safe)) (##fx= _g5713_ 3))
               (apply (lambda (_self780_ _get781_ _put782_)
                        (if (let ((__tmp5715
                                   (let ()
                                     (declare (not safe))
                                     (##vector-length _self780_))))
                              (declare (not safe))
                              (##fx< '2 __tmp5715))
                            (begin
                              (let ()
                                (declare (not safe))
                                (##vector-set! _self780_ '1 _get781_))
                              (let ()
                                (declare (not safe))
                                (##vector-set! _self780_ '2 _put782_)))
                            (error '"struct-instance-init!: too many arguments for struct"
                                   _self780_)))
                      _g5714_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/net/httpd/mux#custom-http-mux:::init!
                _g5714_))))))
  (bind-method!
   std/net/httpd/mux#custom-http-mux::t
   ':init!
   std/net/httpd/mux#custom-http-mux:::init!
   '#f)
  (define std/net/httpd/mux#custom-http-mux::get-handler
    (lambda (_self641_ _host642_ _path643_)
      ((let ()
         (declare (not safe))
         (##unchecked-structure-ref
          _self641_
          '1
          std/net/httpd/mux#custom-http-mux::t
          '#f))
       _host642_
       _path643_)))
  (bind-method!
   std/net/httpd/mux#custom-http-mux::t
   'get-handler
   std/net/httpd/mux#custom-http-mux::get-handler
   '#f)
  (define std/net/httpd/mux#custom-http-mux::put-handler!
    (lambda (_self514_ _host515_ _path516_ _handler517_)
      ((let ()
         (declare (not safe))
         (##unchecked-structure-ref
          _self514_
          '2
          std/net/httpd/mux#custom-http-mux::t
          '#f))
       _host515_
       _path516_
       _handler517_)))
  (bind-method!
   std/net/httpd/mux#custom-http-mux::t
   'put-handler!
   std/net/httpd/mux#custom-http-mux::put-handler!
   '#f))
