(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 _$args150937_
      (apply make-struct-instance
             std/net/httpd/mux#default-http-mux::t
             _$args150937_)))
  (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:::init!__%
    (lambda (_self150924_ _default150925_)
      (if (##fx< '2 (##vector-length _self150924_))
          (begin
            (##vector-set!
             _self150924_
             '1
             (let ((__obj150939 (make-object std/misc/sync#sync-hash::t '2)))
               (std/misc/sync#sync-hash:::init! __obj150939 (make-table))
               __obj150939))
            (##vector-set! _self150924_ '2 _default150925_))
          (error '"struct-instance-init!: too many arguments for struct"
                 _self150924_))))
  (define std/net/httpd/mux#default-http-mux:::init!__0
    (lambda (_self150930_)
      (let ((_default150932_ '#f))
        (std/net/httpd/mux#default-http-mux:::init!__%
         _self150930_
         _default150932_))))
  (define std/net/httpd/mux#default-http-mux:::init!
    (lambda _g150941_
      (let ((_g150940_ (length _g150941_)))
        (cond ((##fx= _g150940_ 1)
               (apply std/net/httpd/mux#default-http-mux:::init!__0 _g150941_))
              ((##fx= _g150940_ 2)
               (apply std/net/httpd/mux#default-http-mux:::init!__% _g150941_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/net/httpd/mux#default-http-mux:::init!
                _g150941_))))))
  (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 (_self150796_ _host150797_ _path150798_ _handler150799_)
      (std/misc/sync#sync-hash-put!
       (##structure-ref
        _self150796_
        '1
        std/net/httpd/mux#default-http-mux::t
        '#f)
       _path150798_
       _handler150799_)))
  (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 (_self150670_ _host150671_ _path150672_)
      (std/misc/sync#sync-hash-ref
       (##structure-ref
        _self150670_
        '1
        std/net/httpd/mux#default-http-mux::t
        '#f)
       _path150672_
       (##structure-ref
        _self150670_
        '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 _$args150545_
      (apply make-struct-instance
             std/net/httpd/mux#recursive-http-mux::t
             _$args150545_)))
  (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 (_self150405_ _host150406_ _path150407_)
      (std/misc/sync#sync-hash-do
       (##structure-ref
        _self150405_
        '1
        std/net/httpd/mux#default-http-mux::t
        '#f)
       (lambda (_ht150409_)
         (let _lp150411_ ((_path150413_ _path150407_))
           (let ((_$e150415_ (table-ref _ht150409_ _path150413_ '#f)))
             (if _$e150415_
                 (values _$e150415_)
                 (let ((_$e150418_ (string-rindex _path150413_ '#\/)))
                   (if _$e150418_
                       ((lambda (_ix150421_)
                          (_lp150411_ (substring _path150413_ '0 _ix150421_)))
                        _$e150418_)
                       (##structure-ref
                        _self150405_
                        '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#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 _$args150280_
      (apply make-struct-instance
             std/net/httpd/mux#custom-http-mux::t
             _$args150280_)))
  (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:::init!__%
    (lambda (_self150264_ _get150265_ _put150266_)
      (if (##fx< '2 (##vector-length _self150264_))
          (begin
            (##vector-set! _self150264_ '1 _get150265_)
            (##vector-set! _self150264_ '2 _put150266_))
          (error '"struct-instance-init!: too many arguments for struct"
                 _self150264_))))
  (define std/net/httpd/mux#custom-http-mux:::init!__0
    (lambda (_self150271_ _get150272_)
      (let ((_put150274_ void))
        (if (##fx< '2 (##vector-length _self150271_))
            (begin
              (##vector-set! _self150271_ '1 _get150272_)
              (##vector-set! _self150271_ '2 _put150274_))
            (error '"struct-instance-init!: too many arguments for struct"
                   _self150271_)))))
  (define std/net/httpd/mux#custom-http-mux:::init!
    (lambda _g150943_
      (let ((_g150942_ (length _g150943_)))
        (cond ((##fx= _g150942_ 2)
               (apply std/net/httpd/mux#custom-http-mux:::init!__0 _g150943_))
              ((##fx= _g150942_ 3)
               (apply (lambda (_self150276_ _get150277_ _put150278_)
                        (if (##fx< '2 (##vector-length _self150276_))
                            (begin
                              (##vector-set! _self150276_ '1 _get150277_)
                              (##vector-set! _self150276_ '2 _put150278_))
                            (error '"struct-instance-init!: too many arguments for struct"
                                   _self150276_)))
                      _g150943_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/net/httpd/mux#custom-http-mux:::init!
                _g150943_))))))
  (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 (_self150137_ _host150138_ _path150139_)
      ((##direct-structure-ref
        _self150137_
        '1
        std/net/httpd/mux#custom-http-mux::t
        '#f)
       _host150138_
       _path150139_)))
  (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 (_self150010_ _host150011_ _path150012_ _handler150013_)
      ((##direct-structure-ref
        _self150010_
        '2
        std/net/httpd/mux#custom-http-mux::t
        '#f)
       _host150011_
       _path150012_
       _handler150013_)))
  (bind-method!
   std/net/httpd/mux#custom-http-mux::t
   'put-handler
   std/net/httpd/mux#custom-http-mux::put-handler
   '#f))
