(declare (block) (standard-bindings) (extended-bindings))
(begin
  (define std/getopt#getopt-error::t
    (make-struct-type
     'std/getopt#getopt-error::t
     error::t
     '1
     'getopt-error
     '()
     '#f
     '(e)))
  (define std/getopt#getopt-error?
    (make-struct-predicate std/getopt#getopt-error::t))
  (define std/getopt#make-getopt-error
    (lambda _$args1850_
      (apply make-struct-instance std/getopt#getopt-error::t _$args1850_)))
  (define std/getopt#getopt-error-e
    (make-struct-field-accessor std/getopt#getopt-error::t '0))
  (define std/getopt#getopt-error-e-set!
    (make-struct-field-mutator std/getopt#getopt-error::t '0))
  (define std/getopt#current-getopt-parser (make-parameter '#f))
  (define std/getopt#raise-getopt-error
    (lambda (_msg1847_ . _args1848_)
      (raise (make-struct-instance
              std/getopt#getopt-error::t
              _msg1847_
              _args1848_
              '#f
              (std/getopt#current-getopt-parser)))))
  (define std/getopt#!getopt::t
    (make-struct-type
     'std/getopt#!getopt::t
     '#f
     '3
     '!getopt
     '()
     '#f
     '(opts cmds args)))
  (define std/getopt#!getopt? (make-struct-predicate std/getopt#!getopt::t))
  (define std/getopt#make-!getopt
    (lambda _$args1844_
      (apply make-struct-instance std/getopt#!getopt::t _$args1844_)))
  (define std/getopt#!getopt-opts
    (make-struct-field-accessor std/getopt#!getopt::t '0))
  (define std/getopt#!getopt-cmds
    (make-struct-field-accessor std/getopt#!getopt::t '1))
  (define std/getopt#!getopt-args
    (make-struct-field-accessor std/getopt#!getopt::t '2))
  (define std/getopt#!getopt-opts-set!
    (make-struct-field-mutator std/getopt#!getopt::t '0))
  (define std/getopt#!getopt-cmds-set!
    (make-struct-field-mutator std/getopt#!getopt::t '1))
  (define std/getopt#!getopt-args-set!
    (make-struct-field-mutator std/getopt#!getopt::t '2))
  (define std/getopt#!top::t
    (make-struct-type 'std/getopt#!top::t '#f '2 '!top '() '#f '(key help)))
  (define std/getopt#!top? (make-struct-predicate std/getopt#!top::t))
  (define std/getopt#make-!top
    (lambda _$args1841_
      (apply make-struct-instance std/getopt#!top::t _$args1841_)))
  (define std/getopt#!top-key
    (make-struct-field-accessor std/getopt#!top::t '0))
  (define std/getopt#!top-help
    (make-struct-field-accessor std/getopt#!top::t '1))
  (define std/getopt#!top-key-set!
    (make-struct-field-mutator std/getopt#!top::t '0))
  (define std/getopt#!top-help-set!
    (make-struct-field-mutator std/getopt#!top::t '1))
  (define std/getopt#!command::t
    (make-struct-type
     'std/getopt#!command::t
     std/getopt#!top::t
     '2
     '!command
     '((final: . #t))
     '#f
     '(opts args)))
  (define std/getopt#!command? (make-struct-predicate std/getopt#!command::t))
  (define std/getopt#make-!command
    (lambda _$args1838_
      (apply make-struct-instance std/getopt#!command::t _$args1838_)))
  (define std/getopt#!command-opts
    (make-struct-field-accessor std/getopt#!command::t '0))
  (define std/getopt#!command-args
    (make-struct-field-accessor std/getopt#!command::t '1))
  (define std/getopt#!command-opts-set!
    (make-struct-field-mutator std/getopt#!command::t '0))
  (define std/getopt#!command-args-set!
    (make-struct-field-mutator std/getopt#!command::t '1))
  (define std/getopt#!opt::t
    (make-struct-type
     'std/getopt#!opt::t
     std/getopt#!top::t
     '2
     '!opt
     '()
     '#f
     '(short long)))
  (define std/getopt#!opt? (make-struct-predicate std/getopt#!opt::t))
  (define std/getopt#make-!opt
    (lambda _$args1835_
      (apply make-struct-instance std/getopt#!opt::t _$args1835_)))
  (define std/getopt#!opt-short
    (make-struct-field-accessor std/getopt#!opt::t '0))
  (define std/getopt#!opt-long
    (make-struct-field-accessor std/getopt#!opt::t '1))
  (define std/getopt#!opt-short-set!
    (make-struct-field-mutator std/getopt#!opt::t '0))
  (define std/getopt#!opt-long-set!
    (make-struct-field-mutator std/getopt#!opt::t '1))
  (define std/getopt#!option::t
    (make-struct-type
     'std/getopt#!option::t
     std/getopt#!opt::t
     '2
     '!option
     '((final: . #t))
     '#f
     '(value default)))
  (define std/getopt#!option? (make-struct-predicate std/getopt#!option::t))
  (define std/getopt#make-!option
    (lambda _$args1832_
      (apply make-struct-instance std/getopt#!option::t _$args1832_)))
  (define std/getopt#!option-value
    (make-struct-field-accessor std/getopt#!option::t '0))
  (define std/getopt#!option-default
    (make-struct-field-accessor std/getopt#!option::t '1))
  (define std/getopt#!option-value-set!
    (make-struct-field-mutator std/getopt#!option::t '0))
  (define std/getopt#!option-default-set!
    (make-struct-field-mutator std/getopt#!option::t '1))
  (define std/getopt#!flag::t
    (make-struct-type
     'std/getopt#!flag::t
     std/getopt#!opt::t
     '0
     '!flag
     '((final: . #t))
     '#f
     '()))
  (define std/getopt#!flag? (make-struct-predicate std/getopt#!flag::t))
  (define std/getopt#make-!flag
    (lambda _$args1829_
      (apply make-struct-instance std/getopt#!flag::t _$args1829_)))
  (define std/getopt#!arg::t
    (make-struct-type
     'std/getopt#!arg::t
     std/getopt#!top::t
     '1
     '!arg
     '()
     '#f
     '(value)))
  (define std/getopt#!arg? (make-struct-predicate std/getopt#!arg::t))
  (define std/getopt#make-!arg
    (lambda _$args1826_
      (apply make-struct-instance std/getopt#!arg::t _$args1826_)))
  (define std/getopt#!arg-value
    (make-struct-field-accessor std/getopt#!arg::t '0))
  (define std/getopt#!arg-value-set!
    (make-struct-field-mutator std/getopt#!arg::t '0))
  (define std/getopt#!reqarg::t
    (make-struct-type
     'std/getopt#!reqarg::t
     std/getopt#!arg::t
     '0
     '!reqarg
     '((final: . #t))
     '#f
     '()))
  (define std/getopt#!reqarg? (make-struct-predicate std/getopt#!reqarg::t))
  (define std/getopt#make-!reqarg
    (lambda _$args1823_
      (apply make-struct-instance std/getopt#!reqarg::t _$args1823_)))
  (define std/getopt#!optarg::t
    (make-struct-type
     'std/getopt#!optarg::t
     std/getopt#!arg::t
     '1
     '!optarg
     '((final: . #t))
     '#f
     '(default)))
  (define std/getopt#!optarg? (make-struct-predicate std/getopt#!optarg::t))
  (define std/getopt#make-!optarg
    (lambda _$args1820_
      (apply make-struct-instance std/getopt#!optarg::t _$args1820_)))
  (define std/getopt#!optarg-default
    (make-struct-field-accessor std/getopt#!optarg::t '0))
  (define std/getopt#!optarg-default-set!
    (make-struct-field-mutator std/getopt#!optarg::t '0))
  (define std/getopt#!rest::t
    (make-struct-type
     'std/getopt#!rest::t
     std/getopt#!arg::t
     '0
     '!rest
     '((final: . #t))
     '#f
     '()))
  (define std/getopt#!rest? (make-struct-predicate std/getopt#!rest::t))
  (define std/getopt#make-!rest
    (lambda _$args1817_
      (apply make-struct-instance std/getopt#!rest::t _$args1817_)))
  (define std/getopt#getopt
    (lambda _args1766_
      (let _lp1768_ ((_rest1770_ _args1766_)
                     (_opts1771_ '())
                     (_cmds1772_ '())
                     (_args1773_ '()))
        (let* ((_rest17741782_ _rest1770_)
               (_else17761790_
                (lambda ()
                  (let ((__tmp5596 (reverse _opts1771_))
                        (__tmp5595 (reverse _cmds1772_))
                        (__tmp5594 (reverse _args1773_)))
                    (declare (not safe))
                    (##structure
                     std/getopt#!getopt::t
                     __tmp5596
                     __tmp5595
                     __tmp5594))))
               (_K17781805_
                (lambda (_rest1793_ _hd1794_)
                  (if (let ()
                        (declare (not safe))
                        (##structure-instance-of?
                         _hd1794_
                         'std/getopt#!opt::t))
                      (_lp1768_
                       _rest1793_
                       (cons _hd1794_ _opts1771_)
                       _cmds1772_
                       _args1773_)
                      (if (let ()
                            (declare (not safe))
                            (##structure-direct-instance-of?
                             _hd1794_
                             'std/getopt#!command::t))
                          (if (null? _args1773_)
                              (_lp1768_
                               _rest1793_
                               _opts1771_
                               (cons _hd1794_ _cmds1772_)
                               _args1773_)
                              (error '"Illegal command; already have arguments"
                                     _hd1794_))
                          (if (let ()
                                (declare (not safe))
                                (##structure-direct-instance-of?
                                 _hd1794_
                                 'std/getopt#!reqarg::t))
                              (if (null? _cmds1772_)
                                  (if (or (null? _args1773_)
                                          (and (not (let ((__tmp5597
                                                           (car _args1773_)))
                                                      (declare (not safe))
                                                      (##structure-direct-instance-of?
                                                       __tmp5597
                                                       'std/getopt#!optarg::t)))
                                               (not (let ((__tmp5598
                                                           (car _args1773_)))
                                                      (declare (not safe))
                                                      (##structure-direct-instance-of?
                                                       __tmp5598
                                                       'std/getopt#!rest::t)))))
                                      (_lp1768_
                                       _rest1793_
                                       _opts1771_
                                       _cmds1772_
                                       (cons _hd1794_ _args1773_))
                                      (error '"Illegal required argument; already have optional or rest arguments"
                                             _hd1794_))
                                  (error '"Illegal required argument; already have commands"
                                         _hd1794_))
                              (if (or (let ()
                                        (declare (not safe))
                                        (##structure-direct-instance-of?
                                         _hd1794_
                                         'std/getopt#!optarg::t))
                                      (let ()
                                        (declare (not safe))
                                        (##structure-direct-instance-of?
                                         _hd1794_
                                         'std/getopt#!rest::t)))
                                  (if (null? _cmds1772_)
                                      (if (or (null? _args1773_)
                                              (not (let ((__tmp5599
                                                          (car _args1773_)))
                                                     (declare (not safe))
                                                     (##structure-direct-instance-of?
                                                      __tmp5599
                                                      'std/getopt#!rest::t))))
                                          (_lp1768_
                                           _rest1793_
                                           _opts1771_
                                           _cmds1772_
                                           (cons _hd1794_ _args1773_))
                                          (error '"Illegal optional argument; already have rest arguments"
                                                 _hd1794_))
                                      (error '"Illegal optional argument; alreday have commands"
                                             _hd1794_))
                                  (error '"Illegal argument; must be a getopt-object"
                                         _hd1794_))))))))
          (if (let () (declare (not safe)) (##pair? _rest17741782_))
              (let ((_hd17791808_
                     (let () (declare (not safe)) (##car _rest17741782_)))
                    (_tl17801810_
                     (let () (declare (not safe)) (##cdr _rest17741782_))))
                (let* ((_hd1813_ _hd17791808_) (_rest1815_ _tl17801810_))
                  (_K17781805_ _rest1815_ _hd1813_)))
              (_else17761790_))))))
  (define std/getopt#flag__%__%
    (lambda (__17231726_ _help17211728_ _id1730_ _short1731_ _long1732_)
      (let ((_help1734_
             (if (eq? _help17211728_ absent-value) '#f _help17211728_)))
        (declare (not safe))
        (##structure
         std/getopt#!flag::t
         _id1730_
         _help1734_
         _short1731_
         _long1732_))))
  (define std/getopt#flag__%__0
    (lambda (__17231739_ _help17211740_ _id1741_ _short1742_)
      (let ((_long1744_ '#f))
        (std/getopt#flag__%__%
         __17231739_
         _help17211740_
         _id1741_
         _short1742_
         _long1744_))))
  (define std/getopt#flag__%
    (lambda _g5601_
      (let ((_g5600_ (let () (declare (not safe)) (##length _g5601_))))
        (cond ((let () (declare (not safe)) (##fx= _g5600_ 4))
               (apply std/getopt#flag__%__0 _g5601_))
              ((let () (declare (not safe)) (##fx= _g5600_ 5))
               (apply std/getopt#flag__%__% _g5601_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/getopt#flag__%
                _g5601_))))))
  (define std/getopt#flag__@
    (lambda (_keys17201755_ . _args1757_)
      (apply std/getopt#flag__%
             _keys17201755_
             (table-ref _keys17201755_ 'help: absent-value)
             _args1757_)))
  (define std/getopt#flag
    (lambda _args17221763_
      (apply keyword-dispatch '#(help:) std/getopt#flag__@ _args17221763_)))
  (define std/getopt#option__%__%
    (lambda (__16641667_
             _help16601669_
             _value-e16611671_
             _default16621673_
             _id1675_
             _short1676_
             _long1677_)
      (let* ((_help1679_
              (if (eq? _help16601669_ absent-value) '#f _help16601669_))
             (_value-e1681_
              (if (eq? _value-e16611671_ absent-value)
                  identity
                  _value-e16611671_))
             (_default1683_
              (if (eq? _default16621673_ absent-value) '#f _default16621673_)))
        (declare (not safe))
        (##structure
         std/getopt#!option::t
         _id1675_
         _help1679_
         _short1676_
         _long1677_
         _value-e1681_
         _default1683_))))
  (define std/getopt#option__%__0
    (lambda (__16641688_
             _help16601689_
             _value-e16611690_
             _default16621691_
             _id1692_
             _short1693_)
      (let ((_long1695_ '#f))
        (std/getopt#option__%__%
         __16641688_
         _help16601689_
         _value-e16611690_
         _default16621691_
         _id1692_
         _short1693_
         _long1695_))))
  (define std/getopt#option__%
    (lambda _g5603_
      (let ((_g5602_ (let () (declare (not safe)) (##length _g5603_))))
        (cond ((let () (declare (not safe)) (##fx= _g5602_ 6))
               (apply std/getopt#option__%__0 _g5603_))
              ((let () (declare (not safe)) (##fx= _g5602_ 7))
               (apply std/getopt#option__%__% _g5603_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/getopt#option__%
                _g5603_))))))
  (define std/getopt#option__@
    (lambda (_keys16591708_ . _args1710_)
      (apply std/getopt#option__%
             _keys16591708_
             (table-ref _keys16591708_ 'help: absent-value)
             (table-ref _keys16591708_ 'value: absent-value)
             (table-ref _keys16591708_ 'default: absent-value)
             _args1710_)))
  (define std/getopt#option
    (lambda _args16631716_
      (apply keyword-dispatch
             '#(#f default: #f #f #f value: #f help: #f)
             std/getopt#option__@
             _args16631716_)))
  (define std/getopt#command__%
    (lambda (_g5604_ _help15981601_ _id1603_ . _args1604_)
      (let* ((_help1606_
              (if (eq? _help15981601_ absent-value) '#f _help15981601_))
             (_g16071615_ (apply std/getopt#getopt _args1604_))
             (_E16091619_
              (lambda () (error '"No clause matching" _g16071615_)))
             (_K16101626_
              (lambda (_args1622_ _cmds1623_ _opts1624_)
                (if (null? _cmds1623_)
                    (let ()
                      (declare (not safe))
                      (##structure
                       std/getopt#!command::t
                       _id1603_
                       _help1606_
                       _opts1624_
                       _args1622_))
                    (error '"Illegal command; cannot contain subcommands")))))
        (if (let ()
              (declare (not safe))
              (##structure-instance-of? _g16071615_ 'std/getopt#!getopt::t))
            (let* ((_e16111629_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _g16071615_ '1)))
                   (_opts1632_ _e16111629_)
                   (_e16121634_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _g16071615_ '2)))
                   (_cmds1637_ _e16121634_)
                   (_e16131639_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _g16071615_ '3)))
                   (_args1642_ _e16131639_))
              (_K16101626_ _args1642_ _cmds1637_ _opts1632_))
            (_E16091619_)))))
  (define std/getopt#command__@
    (lambda (_keys15971647_ . _args1649_)
      (apply std/getopt#command__%
             _keys15971647_
             (table-ref _keys15971647_ 'help: absent-value)
             _args1649_)))
  (define std/getopt#command
    (lambda _args15991655_
      (apply keyword-dispatch '#(help:) std/getopt#command__@ _args15991655_)))
  (define std/getopt#argument__%
    (lambda (_g5605_ _help15681572_ _value-e15691574_ _id1576_)
      (let* ((_help1578_
              (if (eq? _help15681572_ absent-value) '#f _help15681572_))
             (_value-e1580_
              (if (eq? _value-e15691574_ absent-value)
                  identity
                  _value-e15691574_)))
        (declare (not safe))
        (##structure
         std/getopt#!reqarg::t
         _id1576_
         _help1578_
         _value-e1580_))))
  (define std/getopt#argument__@
    (lambda (_keys15671585_ . _args1587_)
      (apply std/getopt#argument__%
             _keys15671585_
             (table-ref _keys15671585_ 'help: absent-value)
             (table-ref _keys15671585_ 'value: absent-value)
             _args1587_)))
  (define std/getopt#argument
    (lambda _args15701593_
      (apply keyword-dispatch
             '#(#f help: value:)
             std/getopt#argument__@
             _args15701593_)))
  (define std/getopt#optional-argument__%
    (lambda (_g5606_
             _help15331538_
             _value-e15341540_
             _default15351542_
             _id1544_)
      (let* ((_help1546_
              (if (eq? _help15331538_ absent-value) '#f _help15331538_))
             (_value-e1548_
              (if (eq? _value-e15341540_ absent-value)
                  identity
                  _value-e15341540_))
             (_default1550_
              (if (eq? _default15351542_ absent-value) '#f _default15351542_)))
        (declare (not safe))
        (##structure
         std/getopt#!optarg::t
         _id1544_
         _help1546_
         _value-e1548_
         _default1550_))))
  (define std/getopt#optional-argument__@
    (lambda (_keys15321555_ . _args1557_)
      (apply std/getopt#optional-argument__%
             _keys15321555_
             (table-ref _keys15321555_ 'help: absent-value)
             (table-ref _keys15321555_ 'value: absent-value)
             (table-ref _keys15321555_ 'default: absent-value)
             _args1557_)))
  (define std/getopt#optional-argument
    (lambda _args15361563_
      (apply keyword-dispatch
             '#(#f default: #f #f #f value: #f help: #f)
             std/getopt#optional-argument__@
             _args15361563_)))
  (define std/getopt#rest-arguments__%
    (lambda (_g5607_ _help15031507_ _value-e15041509_ _id1511_)
      (let* ((_help1513_
              (if (eq? _help15031507_ absent-value) '#f _help15031507_))
             (_value-e1515_
              (if (eq? _value-e15041509_ absent-value)
                  identity
                  _value-e15041509_)))
        (declare (not safe))
        (##structure std/getopt#!rest::t _id1511_ _help1513_ _value-e1515_))))
  (define std/getopt#rest-arguments__@
    (lambda (_keys15021520_ . _args1522_)
      (apply std/getopt#rest-arguments__%
             _keys15021520_
             (table-ref _keys15021520_ 'help: absent-value)
             (table-ref _keys15021520_ 'value: absent-value)
             _args1522_)))
  (define std/getopt#rest-arguments
    (lambda _args15051528_
      (apply keyword-dispatch
             '#(#f help: value:)
             std/getopt#rest-arguments__@
             _args15051528_)))
  (define std/getopt#getopt-parse
    (lambda (_gopt1496_ _args1497_)
      (let ((_ht1499_ (make-table 'test: eq?)))
        (std/getopt#getopt-parse! _ht1499_ _gopt1496_ _args1497_))))
  (define std/getopt#getopt-parse!
    (lambda (_ht1451_ _gopt1452_ _rest1453_)
      (call-with-parameters
       (lambda ()
         (let* ((_gopt14551463_ _gopt1452_)
                (_E14571467_
                 (lambda () (error '"No clause matching" _gopt14551463_)))
                (_K14581478_
                 (lambda (_args1470_ _cmds1471_ _opts1472_)
                   (std/getopt#getopt-parse-opts!
                    _ht1451_
                    _opts1472_
                    _rest1453_
                    (if (null? _cmds1471_)
                        (lambda (_rest1474_)
                          (std/getopt#getopt-parse-args!
                           _ht1451_
                           _args1470_
                           _rest1474_))
                        (lambda (_rest1476_)
                          (std/getopt#getopt-parse-cmd!
                           _ht1451_
                           _cmds1471_
                           _rest1476_)))))))
           (if (let ()
                 (declare (not safe))
                 (##structure-instance-of?
                  _gopt14551463_
                  'std/getopt#!getopt::t))
               (let* ((_e14591481_
                       (let ()
                         (declare (not safe))
                         (##vector-ref _gopt14551463_ '1)))
                      (_opts1484_ _e14591481_)
                      (_e14601486_
                       (let ()
                         (declare (not safe))
                         (##vector-ref _gopt14551463_ '2)))
                      (_cmds1489_ _e14601486_)
                      (_e14611491_
                       (let ()
                         (declare (not safe))
                         (##vector-ref _gopt14551463_ '3)))
                      (_args1494_ _e14611491_))
                 (_K14581478_ _args1494_ _cmds1489_ _opts1484_))
               (_E14571467_))))
       std/getopt#current-getopt-parser
       _gopt1452_)))
  (define std/getopt#getopt-parse-opts!
    (lambda (_ht1215_ _opts1216_ _rest1217_ _K1218_)
      (letrec* ((_end1220_
                 (lambda (_rest1395_)
                   (for-each
                    (lambda (_e13961398_)
                      (let* ((_g14001412_ _e13961398_)
                             (_else14021420_ (lambda () '#!void))
                             (_K14041426_
                              (lambda (_default1423_ _key1424_)
                                (if (hash-key? _ht1215_ _key1424_)
                                    '#!void
                                    (table-set!
                                     _ht1215_
                                     _key1424_
                                     _default1423_)))))
                        (if (let ()
                              (declare (not safe))
                              (##structure-direct-instance-of?
                               _g14001412_
                               'std/getopt#!option::t))
                            (let* ((_e14051429_
                                    (let ()
                                      (declare (not safe))
                                      (##vector-ref _g14001412_ '1)))
                                   (_key1432_ _e14051429_)
                                   (_e14061434_
                                    (let ()
                                      (declare (not safe))
                                      (##vector-ref _g14001412_ '2)))
                                   (_e14071437_
                                    (let ()
                                      (declare (not safe))
                                      (##vector-ref _g14001412_ '3)))
                                   (_e14081440_
                                    (let ()
                                      (declare (not safe))
                                      (##vector-ref _g14001412_ '4)))
                                   (_e14091443_
                                    (let ()
                                      (declare (not safe))
                                      (##vector-ref _g14001412_ '5)))
                                   (_e14101446_
                                    (let ()
                                      (declare (not safe))
                                      (##vector-ref _g14001412_ '6)))
                                   (_default1449_ _e14101446_))
                              (_K14041426_ _default1449_ _key1432_))
                            '#!void)))
                    _opts1216_)
                   (_K1218_ _rest1395_)))
                (_optht1221_ (make-table)))
        (for-each
         (lambda (_opt1223_)
           (let* ((_opt12241233_ _opt1223_)
                  (_E12261237_
                   (lambda () (error '"No clause matching" _opt12241233_)))
                  (_K12271243_
                   (lambda (_long1240_ _short1241_)
                     (if _short1241_
                         (table-set! _optht1221_ _short1241_ _opt1223_)
                         '#!void)
                     (if _long1240_
                         (table-set! _optht1221_ _long1240_ _opt1223_)
                         '#!void))))
             (if (let ()
                   (declare (not safe))
                   (##structure-instance-of?
                    _opt12241233_
                    'std/getopt#!opt::t))
                 (let* ((_e12281246_
                         (let ()
                           (declare (not safe))
                           (##vector-ref _opt12241233_ '1)))
                        (_e12291249_
                         (let ()
                           (declare (not safe))
                           (##vector-ref _opt12241233_ '2)))
                        (_e12301252_
                         (let ()
                           (declare (not safe))
                           (##vector-ref _opt12241233_ '3)))
                        (_short1255_ _e12301252_)
                        (_e12311257_
                         (let ()
                           (declare (not safe))
                           (##vector-ref _opt12241233_ '4)))
                        (_long1260_ _e12311257_))
                   (_K12271243_ _long1260_ _short1255_))
                 (_E12261237_))))
         _opts1216_)
        (let _lp1262_ ((_rest1264_ _rest1217_))
          (let* ((_rest12651273_ _rest1264_)
                 (_else12671281_ (lambda () (_end1220_ _rest1264_)))
                 (_K12691383_
                  (lambda (_rest*1284_ _hd1285_)
                    (if (string-empty? _hd1285_)
                        (_lp1262_ _rest*1284_)
                        (if (eq? (string-ref _hd1285_ '0) '#\-)
                            (if (equal? '"--" _hd1285_)
                                (_end1220_ _rest*1284_)
                                (let ((_$e1287_
                                       (table-ref _optht1221_ _hd1285_ '#f)))
                                  (if _$e1287_
                                      ((lambda (_opt1290_)
                                         (let* ((_opt12911304_ _opt1290_)
                                                (_E12941308_
                                                 (lambda ()
                                                   (error '"No clause matching"
                                                          _opt12911304_))))
                                           (let ((_K12971361_
                                                  (lambda (_value-e1325_
                                                           _key1326_)
                                                    (let* ((_rest*13271335_
                                                            _rest*1284_)
                                                           (_else13291343_
                                                            (lambda ()
                                                              (std/getopt#raise-getopt-error
                                                               '"Missing value for option"
                                                               _hd1285_)))
                                                           (_K13311349_
                                                            (lambda (_rest*1346_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                             _val1347_)
                      (table-set! _ht1215_ _key1326_ (_value-e1325_ _val1347_))
                      (_lp1262_ _rest*1346_))))
              (if (let () (declare (not safe)) (##pair? _rest*13271335_))
                  (let ((_hd13321352_
                         (let () (declare (not safe)) (##car _rest*13271335_)))
                        (_tl13331354_
                         (let ()
                           (declare (not safe))
                           (##cdr _rest*13271335_))))
                    (let* ((_val1357_ _hd13321352_) (_rest*1359_ _tl13331354_))
                      (_K13311349_ _rest*1359_ _val1357_)))
                  (_else13291343_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                                 (_K12951314_
                                                  (lambda (_key1312_)
                                                    (table-set!
                                                     _ht1215_
                                                     _key1312_
                                                     '#t)
                                                    (_lp1262_ _rest*1284_))))
                                             (let ((_try-match12931322_
                                                    (lambda ()
                                                      (if (let ()
                                                            (declare
                                                              (not safe))
                                                            (##structure-direct-instance-of?
                                                             _opt12911304_
                                                             'std/getopt#!flag::t))
                                                          (let* ((_e12961317_
;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                          (let ()
                            (declare (not safe))
                            (##vector-ref _opt12911304_ '1)))
                         (_key1320_ _e12961317_))
                    (_K12951314_ _key1320_))
                  (_E12941308_)))))
;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                               (if (let ()
                                                     (declare (not safe))
                                                     (##structure-direct-instance-of?
                                                      _opt12911304_
                                                      'std/getopt#!option::t))
                                                   (let* ((_e12981364_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##vector-ref
                                                              _opt12911304_
                                                              '1)))
                                                          (_e12991369_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##vector-ref
                                                              _opt12911304_
                                                              '2)))
                                                          (_e13001372_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##vector-ref
                                                              _opt12911304_
                                                              '3)))
                                                          (_e13011375_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##vector-ref
                                                              _opt12911304_
                                                              '4)))
                                                          (_e13021378_
                                                           (let ()
                                                             (declare
                                                               (not safe))
                                                             (##vector-ref
                                                              _opt12911304_
                                                              '5))))
                                                     (let ((_key1367_
                                                            _e12981364_)
                                                           (_value-e1381_
                                                            _e13021378_))
                                                       (_K12971361_
                                                        _value-e1381_
                                                        _key1367_)))
                                                   (_try-match12931322_))))))
                                       _$e1287_)
                                      (std/getopt#raise-getopt-error
                                       '"Unknown option"
                                       _hd1285_))))
                            (_end1220_ _rest1264_))))))
            (if (let () (declare (not safe)) (##pair? _rest12651273_))
                (let ((_hd12701386_
                       (let () (declare (not safe)) (##car _rest12651273_)))
                      (_tl12711388_
                       (let () (declare (not safe)) (##cdr _rest12651273_))))
                  (let* ((_hd1391_ _hd12701386_) (_rest*1393_ _tl12711388_))
                    (_K12691383_ _rest*1393_ _hd1391_)))
                (_else12671281_)))))))
  (define std/getopt#getopt-parse-args!
    (lambda (_ht1011_ _args1012_ _rest1013_)
      (let _lp1015_ ((_args1017_ _args1012_) (_rest1018_ _rest1013_))
        (let* ((_args10191027_ _args1017_)
               (_else10211035_
                (lambda ()
                  (if (null? _rest1018_)
                      '#!void
                      (std/getopt#raise-getopt-error
                       '"Unexpected arguments"
                       _rest1018_))
                  _ht1011_))
               (_K10231203_
                (lambda (_args1038_ _arg1039_)
                  (let* ((_arg10401059_ _arg1039_)
                         (_E10441063_
                          (lambda ()
                            (error '"No clause matching" _arg10401059_))))
                    (let ((_K10541187_
                           (lambda (_value-e1151_ _key1152_)
                             (let* ((_rest11531161_ _rest1018_)
                                    (_else11551169_
                                     (lambda ()
                                       (std/getopt#raise-getopt-error
                                        '"Missing argument"
                                        _key1152_)))
                                    (_K11571175_
                                     (lambda (_rest1172_ _val1173_)
                                       (table-set!
                                        _ht1011_
                                        _key1152_
                                        (_value-e1151_ _val1173_))
                                       (_lp1015_ _args1038_ _rest1172_))))
                               (if (let ()
                                     (declare (not safe))
                                     (##pair? _rest11531161_))
                                   (let ((_hd11581178_
                                          (let ()
                                            (declare (not safe))
                                            (##car _rest11531161_)))
                                         (_tl11591180_
                                          (let ()
                                            (declare (not safe))
                                            (##cdr _rest11531161_))))
                                     (let* ((_val1183_ _hd11581178_)
                                            (_rest1185_ _tl11591180_))
                                       (_K11571175_ _rest1185_ _val1183_)))
                                   (_else11551169_)))))
                          (_K10491127_
                           (lambda (_default1090_ _value-e1091_ _key1092_)
                             (let* ((_rest10931101_ _rest1018_)
                                    (_else10951109_
                                     (lambda ()
                                       (table-set!
                                        _ht1011_
                                        _key1092_
                                        _default1090_)
                                       (_lp1015_ _args1038_ _rest1018_)))
                                    (_K10971115_
                                     (lambda (_rest1112_ _val1113_)
                                       (table-set!
                                        _ht1011_
                                        _key1092_
                                        (_value-e1091_ _val1113_))
                                       (_lp1015_ _args1038_ _rest1112_))))
                               (if (let ()
                                     (declare (not safe))
                                     (##pair? _rest10931101_))
                                   (let ((_hd10981118_
                                          (let ()
                                            (declare (not safe))
                                            (##car _rest10931101_)))
                                         (_tl10991120_
                                          (let ()
                                            (declare (not safe))
                                            (##cdr _rest10931101_))))
                                     (let* ((_val1123_ _hd10981118_)
                                            (_rest1125_ _tl10991120_))
                                       (_K10971115_ _rest1125_ _val1123_)))
                                   (_else10951109_)))))
                          (_K10451070_
                           (lambda (_value-e1067_ _key1068_)
                             (table-set!
                              _ht1011_
                              _key1068_
                              (map _value-e1067_ _rest1018_))
                             _ht1011_)))
                      (let* ((_try-match10431086_
                              (lambda ()
                                (if (let ()
                                      (declare (not safe))
                                      (##structure-direct-instance-of?
                                       _arg10401059_
                                       'std/getopt#!rest::t))
                                    (let* ((_e10461073_
                                            (let ()
                                              (declare (not safe))
                                              (##vector-ref _arg10401059_ '1)))
                                           (_e10471078_
                                            (let ()
                                              (declare (not safe))
                                              (##vector-ref _arg10401059_ '2)))
                                           (_e10481081_
                                            (let ()
                                              (declare (not safe))
                                              (##vector-ref
                                               _arg10401059_
                                               '3))))
                                      (let ((_key1076_ _e10461073_)
                                            (_value-e1084_ _e10481081_))
                                        (_K10451070_ _value-e1084_ _key1076_)))
                                    (_E10441063_))))
                             (_try-match10421148_
                              (lambda ()
                                (if (let ()
                                      (declare (not safe))
                                      (##structure-direct-instance-of?
                                       _arg10401059_
                                       'std/getopt#!optarg::t))
                                    (let* ((_e10501130_
                                            (let ()
                                              (declare (not safe))
                                              (##vector-ref _arg10401059_ '1)))
                                           (_e10511135_
                                            (let ()
                                              (declare (not safe))
                                              (##vector-ref _arg10401059_ '2)))
                                           (_e10521138_
                                            (let ()
                                              (declare (not safe))
                                              (##vector-ref _arg10401059_ '3)))
                                           (_e10531143_
                                            (let ()
                                              (declare (not safe))
                                              (##vector-ref
                                               _arg10401059_
                                               '4))))
                                      (let ((_key1133_ _e10501130_)
                                            (_value-e1141_ _e10521138_)
                                            (_default1146_ _e10531143_))
                                        (_K10491127_
                                         _default1146_
                                         _value-e1141_
                                         _key1133_)))
                                    (_try-match10431086_)))))
                        (if (let ()
                              (declare (not safe))
                              (##structure-direct-instance-of?
                               _arg10401059_
                               'std/getopt#!reqarg::t))
                            (let* ((_e10551190_
                                    (let ()
                                      (declare (not safe))
                                      (##vector-ref _arg10401059_ '1)))
                                   (_e10561195_
                                    (let ()
                                      (declare (not safe))
                                      (##vector-ref _arg10401059_ '2)))
                                   (_e10571198_
                                    (let ()
                                      (declare (not safe))
                                      (##vector-ref _arg10401059_ '3))))
                              (let ((_key1193_ _e10551190_)
                                    (_value-e1201_ _e10571198_))
                                (_K10541187_ _value-e1201_ _key1193_)))
                            (_try-match10421148_))))))))
          (if (let () (declare (not safe)) (##pair? _args10191027_))
              (let ((_hd10241206_
                     (let () (declare (not safe)) (##car _args10191027_)))
                    (_tl10251208_
                     (let () (declare (not safe)) (##cdr _args10191027_))))
                (let* ((_arg1211_ _hd10241206_) (_args1213_ _tl10251208_))
                  (_K10231203_ _args1213_ _arg1211_)))
              (_else10211035_))))))
  (define std/getopt#getopt-parse-cmd!
    (lambda (_ht900_ _cmds901_ _rest902_)
      (letrec* ((_cmdht904_ (make-table)))
        (for-each
         (lambda (_cmd906_)
           (let* ((_cmd907913_ _cmd906_)
                  (_E909917_
                   (lambda () (error '"No clause matching" _cmd907913_)))
                  (_K910922_
                   (lambda (_key920_)
                     (table-set!
                      _cmdht904_
                      (symbol->string _key920_)
                      _cmd906_))))
             (if (let ()
                   (declare (not safe))
                   (##structure-direct-instance-of?
                    _cmd907913_
                    'std/getopt#!command::t))
                 (let* ((_e911925_
                         (let ()
                           (declare (not safe))
                           (##vector-ref _cmd907913_ '1)))
                        (_key928_ _e911925_))
                   (_K910922_ _key928_))
                 (_E909917_))))
         _cmds901_)
        (let* ((_rest929937_ _rest902_)
               (_else931945_
                (lambda () (std/getopt#raise-getopt-error '"Missing command")))
               (_K933999_
                (lambda (_rest948_ _cmd949_)
                  (let ((_$e951_ (table-ref _cmdht904_ _cmd949_ '#f)))
                    (if _$e951_
                        ((lambda (_cmd954_)
                           (let* ((_cmd955964_ _cmd954_)
                                  (_E957968_
                                   (lambda ()
                                     (error '"No clause matching"
                                            _cmd955964_)))
                                  (_K958978_
                                   (lambda (_args971_ _opts972_ _key973_)
                                     (call-with-parameters
                                      (lambda ()
                                        (std/getopt#getopt-parse-opts!
                                         _ht900_
                                         _opts972_
                                         _rest948_
                                         (lambda (_rest976_)
                                           (std/getopt#getopt-parse-args!
                                            _ht900_
                                            _args971_
                                            _rest976_)
                                           (values _key973_ _ht900_))))
                                      std/getopt#current-getopt-parser
                                      _cmd954_))))
                             (if (let ()
                                   (declare (not safe))
                                   (##structure-direct-instance-of?
                                    _cmd955964_
                                    'std/getopt#!command::t))
                                 (let* ((_e959981_
                                         (let ()
                                           (declare (not safe))
                                           (##vector-ref _cmd955964_ '1)))
                                        (_key984_ _e959981_)
                                        (_e960986_
                                         (let ()
                                           (declare (not safe))
                                           (##vector-ref _cmd955964_ '2)))
                                        (_e961989_
                                         (let ()
                                           (declare (not safe))
                                           (##vector-ref _cmd955964_ '3)))
                                        (_opts992_ _e961989_)
                                        (_e962994_
                                         (let ()
                                           (declare (not safe))
                                           (##vector-ref _cmd955964_ '4)))
                                        (_args997_ _e962994_))
                                   (_K958978_ _args997_ _opts992_ _key984_))
                                 (_E957968_))))
                         _$e951_)
                        (std/getopt#raise-getopt-error
                         '"Unknown command"
                         _cmd949_))))))
          (if (let () (declare (not safe)) (##pair? _rest929937_))
              (let ((_hd9341002_
                     (let () (declare (not safe)) (##car _rest929937_)))
                    (_tl9351004_
                     (let () (declare (not safe)) (##cdr _rest929937_))))
                (let* ((_cmd1007_ _hd9341002_) (_rest1009_ _tl9351004_))
                  (_K933999_ _rest1009_ _cmd1007_)))
              (_else931945_))))))
  (define std/getopt#getopt-display-help__%
    (lambda (_obj882_ _program883_ _port884_)
      (if (let ()
            (declare (not safe))
            (##structure-instance-of? _obj882_ 'std/getopt#!getopt::t))
          (std/getopt#display-help-getopt _obj882_ _program883_ _port884_)
          (if (let ()
                (declare (not safe))
                (##structure-direct-instance-of?
                 _obj882_
                 'std/getopt#!command::t))
              (std/getopt#display-help-command _obj882_ _program883_ _port884_)
              (if (let ()
                    (declare (not safe))
                    (##structure-instance-of?
                     _obj882_
                     'std/getopt#getopt-error::t))
                  (begin
                    (std/format#fprintf
                     _port884_
                     '"Error: ~a~n"
                     (error-message _obj882_))
                    (if (null? (error-irritants _obj882_))
                        '#!void
                        (begin
                          (display '"Irritants:" _port884_)
                          (for-each
                           (lambda (_x886_)
                             (display '" " _port884_)
                             (display _x886_ _port884_))
                           (error-irritants _obj882_))
                          (newline)))
                    (newline)
                    (std/getopt#getopt-display-help__%
                     (std/getopt#getopt-error-e _obj882_)
                     _program883_
                     _port884_))
                  (error '"Unexpected object; expected a getopt, getopt-error, or command"
                         _obj882_))))))
  (define std/getopt#getopt-display-help__0
    (lambda (_obj891_ _program892_)
      (let ((_port894_ (current-output-port)))
        (std/getopt#getopt-display-help__% _obj891_ _program892_ _port894_))))
  (define std/getopt#getopt-display-help
    (lambda _g5609_
      (let ((_g5608_ (let () (declare (not safe)) (##length _g5609_))))
        (cond ((let () (declare (not safe)) (##fx= _g5608_ 2))
               (apply std/getopt#getopt-display-help__0 _g5609_))
              ((let () (declare (not safe)) (##fx= _g5608_ 3))
               (apply std/getopt#getopt-display-help__% _g5609_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/getopt#getopt-display-help
                _g5609_))))))
  (define std/getopt#getopt-display-help-topic__%
    (lambda (_gopt825_ _topic826_ _program827_ _port828_)
      (let _lp830_ ((_rest832_
                     (##structure-ref _gopt825_ '2 std/getopt#!getopt::t '#f)))
        (let* ((_rest833841_ _rest832_)
               (_else835849_
                (lambda ()
                  (std/getopt#getopt-display-help__%
                   _gopt825_
                   _program827_
                   _port828_)))
               (_K837855_
                (lambda (_rest852_ _cmd853_)
                  (if (eq? _topic826_
                           (##structure-ref
                            _cmd853_
                            '1
                            std/getopt#!top::t
                            '#f))
                      (std/getopt#getopt-display-help__%
                       _cmd853_
                       _program827_
                       _port828_)
                      (_lp830_ _rest852_)))))
          (if (let () (declare (not safe)) (##pair? _rest833841_))
              (let ((_hd838858_
                     (let () (declare (not safe)) (##car _rest833841_)))
                    (_tl839860_
                     (let () (declare (not safe)) (##cdr _rest833841_))))
                (let* ((_cmd863_ _hd838858_) (_rest865_ _tl839860_))
                  (_K837855_ _rest865_ _cmd863_)))
              (_else835849_))))))
  (define std/getopt#getopt-display-help-topic__0
    (lambda (_gopt870_ _topic871_ _program872_)
      (let ((_port874_ (current-output-port)))
        (std/getopt#getopt-display-help-topic__%
         _gopt870_
         _topic871_
         _program872_
         _port874_))))
  (define std/getopt#getopt-display-help-topic
    (lambda _g5611_
      (let ((_g5610_ (let () (declare (not safe)) (##length _g5611_))))
        (cond ((let () (declare (not safe)) (##fx= _g5610_ 3))
               (apply std/getopt#getopt-display-help-topic__0 _g5611_))
              ((let () (declare (not safe)) (##fx= _g5610_ 4))
               (apply std/getopt#getopt-display-help-topic__% _g5611_))
              (else
               (##raise-wrong-number-of-arguments-exception
                std/getopt#getopt-display-help-topic
                _g5611_))))))
  (define std/getopt#display-help-getopt
    (lambda (_obj748_ _program749_ _port750_)
      (let* ((_obj751759_ _obj748_)
             (_E753763_ (lambda () (error '"No clause matching" _obj751759_)))
             (_K754806_
              (lambda (_args766_ _cmds767_ _opts768_)
                (if (null? _cmds767_)
                    (begin
                      (std/format#fprintf
                       _port750_
                       '"Usage: ~a ~a"
                       _program749_
                       (if (null? _opts768_) '"" '"[option ...]"))
                      (std/getopt#display-args _args766_ _port750_)
                      (if (null? _opts768_)
                          '#!void
                          (begin
                            (std/format#fprintf _port750_ '"~nOptions:~n")
                            (std/getopt#display-option-help
                             _opts768_
                             _port750_)))
                      (if (null? _args766_)
                          '#!void
                          (begin
                            (std/format#fprintf _port750_ '"~nArguments:~n")
                            (std/getopt#display-arg-help
                             _args766_
                             _port750_))))
                    (begin
                      (std/format#fprintf
                       _port750_
                       '"Usage: ~a ~a <command> command-arg ...~n"
                       _program749_
                       (if (null? _opts768_) '"" '"[option ...]"))
                      (if (null? _opts768_)
                          '#!void
                          (begin
                            (std/format#fprintf _port750_ '"~nOptions:~n")
                            (std/getopt#display-option-help
                             _opts768_
                             _port750_)))
                      (std/format#fprintf _port750_ '"~nCommands:~n")
                      (for-each
                       (lambda (_e769771_)
                         (let* ((_g773780_ _e769771_)
                                (_E775784_
                                 (lambda ()
                                   (error '"No clause matching" _g773780_)))
                                (_K776793_
                                 (lambda (_help787_ _key788_)
                                   (std/format#fprintf
                                    _port750_
                                    '" ~a:~a ~a~n"
                                    _key788_
                                    (std/getopt#tabs _key788_)
                                    (let ((_$e790_ _help787_))
                                      (if _$e790_ _$e790_ '"?"))))))
                           (if (let ()
                                 (declare (not safe))
                                 (##structure-direct-instance-of?
                                  _g773780_
                                  'std/getopt#!command::t))
                               (let* ((_e777796_
                                       (let ()
                                         (declare (not safe))
                                         (##vector-ref _g773780_ '1)))
                                      (_key799_ _e777796_)
                                      (_e778801_
                                       (let ()
                                         (declare (not safe))
                                         (##vector-ref _g773780_ '2)))
                                      (_help804_ _e778801_))
                                 (_K776793_ _help804_ _key799_))
                               (_E775784_))))
                       _cmds767_))))))
        (if (let ()
              (declare (not safe))
              (##structure-instance-of? _obj751759_ 'std/getopt#!getopt::t))
            (let* ((_e755809_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _obj751759_ '1)))
                   (_opts812_ _e755809_)
                   (_e756814_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _obj751759_ '2)))
                   (_cmds817_ _e756814_)
                   (_e757819_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _obj751759_ '3)))
                   (_args822_ _e757819_))
              (_K754806_ _args822_ _cmds817_ _opts812_))
            (_E753763_)))))
  (define std/getopt#display-help-command
    (lambda (_obj701_ _program702_ _port703_)
      (let* ((_obj704713_ _obj701_)
             (_E706717_ (lambda () (error '"No clause matching" _obj704713_)))
             (_K707725_
              (lambda (_args720_ _opts721_ _help722_ _key723_)
                (std/format#fprintf
                 _port703_
                 '"Usage: ~a ~a~a"
                 _program702_
                 _key723_
                 (if (null? _opts721_) '"" '" [command-option ...]"))
                (std/getopt#display-args _args720_ _port703_)
                (std/format#fprintf _port703_ '"       ~a~n" _help722_)
                (if (null? _opts721_)
                    '#!void
                    (begin
                      (std/format#fprintf _port703_ '"~nCommand Options:~n")
                      (std/getopt#display-option-help _opts721_ _port703_)))
                (if (null? _args720_)
                    '#!void
                    (begin
                      (std/format#fprintf _port703_ '"~nArguments:~n")
                      (std/getopt#display-arg-help _args720_ _port703_))))))
        (if (let ()
              (declare (not safe))
              (##structure-direct-instance-of?
               _obj704713_
               'std/getopt#!command::t))
            (let* ((_e708728_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _obj704713_ '1)))
                   (_key731_ _e708728_)
                   (_e709733_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _obj704713_ '2)))
                   (_help736_ _e709733_)
                   (_e710738_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _obj704713_ '3)))
                   (_opts741_ _e710738_)
                   (_e711743_
                    (let ()
                      (declare (not safe))
                      (##vector-ref _obj704713_ '4)))
                   (_args746_ _e711743_))
              (_K707725_ _args746_ _opts741_ _help736_ _key731_))
            (_E706717_)))))
  (define std/getopt#display-args
    (lambda (_args638_ _port639_)
      (for-each
       (lambda (_e640642_)
         (let* ((_g644656_ _e640642_)
                (_E648660_
                 (lambda () (error '"No clause matching" _g644656_))))
           (let ((_K653693_
                  (lambda (_key691_)
                    (std/format#fprintf _port639_ '" <~a>" _key691_)))
                 (_K651680_
                  (lambda (_key678_)
                    (std/format#fprintf _port639_ '" [<~a>]" _key678_)))
                 (_K649666_
                  (lambda (_key664_)
                    (std/format#fprintf _port639_ '" <~a> ..." _key664_))))
             (let* ((_try-match647674_
                     (lambda ()
                       (if (let ()
                             (declare (not safe))
                             (##structure-direct-instance-of?
                              _g644656_
                              'std/getopt#!rest::t))
                           (let* ((_e650669_
                                   (let ()
                                     (declare (not safe))
                                     (##vector-ref _g644656_ '1)))
                                  (_key672_ _e650669_))
                             (_K649666_ _key672_))
                           (_E648660_))))
                    (_try-match646688_
                     (lambda ()
                       (if (let ()
                             (declare (not safe))
                             (##structure-direct-instance-of?
                              _g644656_
                              'std/getopt#!optarg::t))
                           (let* ((_e652683_
                                   (let ()
                                     (declare (not safe))
                                     (##vector-ref _g644656_ '1)))
                                  (_key686_ _e652683_))
                             (_K651680_ _key686_))
                           (_try-match647674_)))))
               (if (let ()
                     (declare (not safe))
                     (##structure-direct-instance-of?
                      _g644656_
                      'std/getopt#!reqarg::t))
                   (let* ((_e654696_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _g644656_ '1)))
                          (_key699_ _e654696_))
                     (_K653693_ _key699_))
                   (_try-match646688_))))))
       _args638_)
      (newline _port639_)))
  (define std/getopt#display-option-help
    (lambda (_opts512_ _port513_)
      (for-each
       (lambda (_e514516_)
         (let* ((_g518535_ _e514516_)
                (_E521539_
                 (lambda () (error '"No clause matching" _g518535_))))
           (let ((_K527607_
                  (lambda (_default586_ _long587_ _short588_ _help589_ _id590_)
                    (std/format#fprintf
                     _port513_
                     '" ~a ~a <~a> ~a ~a [default: ~a]~n"
                     (let ((_$e592_ _short588_)) (if _$e592_ _$e592_ '""))
                     (let ((_$e595_ _long587_)) (if _$e595_ _$e595_ '""))
                     _id590_
                     (std/getopt#tabs
                      (let ((_$e598_ _short588_)) (if _$e598_ _$e598_ '""))
                      '" "
                      (let ((_$e601_ _long587_)) (if _$e601_ _$e601_ '""))
                      '" <"
                      (symbol->string _id590_)
                      '">")
                     (let ((_$e604_ _help589_)) (if _$e604_ _$e604_ '"?"))
                     _default586_)))
                 (_K522562_
                  (lambda (_long543_ _short544_ _help545_)
                    (std/format#fprintf
                     _port513_
                     '" ~a ~a ~a ~a~n"
                     (let ((_$e547_ _short544_)) (if _$e547_ _$e547_ '""))
                     (let ((_$e550_ _long543_)) (if _$e550_ _$e550_ '""))
                     (std/getopt#tabs
                      (let ((_$e553_ _short544_)) (if _$e553_ _$e553_ '""))
                      '" "
                      (let ((_$e556_ _long543_)) (if _$e556_ _$e556_ '"")))
                     (let ((_$e559_ _help545_)) (if _$e559_ _$e559_ '"?"))))))
             (let ((_try-match520583_
                    (lambda ()
                      (if (let ()
                            (declare (not safe))
                            (##structure-direct-instance-of?
                             _g518535_
                             'std/getopt#!flag::t))
                          (let* ((_e523565_
                                  (let ()
                                    (declare (not safe))
                                    (##vector-ref _g518535_ '1)))
                                 (_e524568_
                                  (let ()
                                    (declare (not safe))
                                    (##vector-ref _g518535_ '2)))
                                 (_e525573_
                                  (let ()
                                    (declare (not safe))
                                    (##vector-ref _g518535_ '3)))
                                 (_e526578_
                                  (let ()
                                    (declare (not safe))
                                    (##vector-ref _g518535_ '4))))
                            (let ((_help571_ _e524568_)
                                  (_short576_ _e525573_)
                                  (_long581_ _e526578_))
                              (_K522562_ _long581_ _short576_ _help571_)))
                          (_E521539_)))))
               (if (let ()
                     (declare (not safe))
                     (##structure-direct-instance-of?
                      _g518535_
                      'std/getopt#!option::t))
                   (let* ((_e528610_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _g518535_ '1)))
                          (_e529615_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _g518535_ '2)))
                          (_e530620_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _g518535_ '3)))
                          (_e531625_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _g518535_ '4)))
                          (_e532630_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _g518535_ '5)))
                          (_e533633_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _g518535_ '6))))
                     (let ((_id613_ _e528610_)
                           (_help618_ _e529615_)
                           (_short623_ _e530620_)
                           (_long628_ _e531625_)
                           (_default636_ _e533633_))
                       (_K527607_
                        _default636_
                        _long628_
                        _short623_
                        _help618_
                        _id613_)))
                   (_try-match520583_))))))
       _opts512_)))
  (define std/getopt#display-arg-help
    (lambda (_args408_ _port409_)
      (for-each
       (lambda (_e410412_)
         (let* ((_g414431_ _e410412_)
                (_E418435_
                 (lambda () (error '"No clause matching" _g414431_))))
           (let ((_K427499_
                  (lambda (_help493_ _key494_)
                    (std/format#fprintf
                     _port409_
                     '" ~a:~a ~a~n"
                     _key494_
                     (std/getopt#tabs _key494_)
                     (let ((_$e496_ _help493_)) (if _$e496_ _$e496_ '"?")))))
                 (_K422469_
                  (lambda (_default462_ _help463_ _key464_)
                    (std/format#fprintf
                     _port409_
                     '" ~a:~a ~a [default: ~a]~n"
                     _key464_
                     (std/getopt#tabs _key464_)
                     (let ((_$e466_ _help463_)) (if _$e466_ _$e466_ '"?"))
                     _default462_)))
                 (_K419445_
                  (lambda (_help439_ _key440_)
                    (std/format#fprintf
                     _port409_
                     '" ~a:~a ~a~n"
                     _key440_
                     (std/getopt#tabs _key440_)
                     (let ((_$e442_ _help439_)) (if _$e442_ _$e442_ '"?"))))))
             (let* ((_try-match417458_
                     (lambda ()
                       (if (let ()
                             (declare (not safe))
                             (##structure-direct-instance-of?
                              _g414431_
                              'std/getopt#!rest::t))
                           (let* ((_e420448_
                                   (let ()
                                     (declare (not safe))
                                     (##vector-ref _g414431_ '1)))
                                  (_e421453_
                                   (let ()
                                     (declare (not safe))
                                     (##vector-ref _g414431_ '2))))
                             (let ((_key451_ _e420448_) (_help456_ _e421453_))
                               (_K419445_ _help456_ _key451_)))
                           (_E418435_))))
                    (_try-match416490_
                     (lambda ()
                       (if (let ()
                             (declare (not safe))
                             (##structure-direct-instance-of?
                              _g414431_
                              'std/getopt#!optarg::t))
                           (let* ((_e423472_
                                   (let ()
                                     (declare (not safe))
                                     (##vector-ref _g414431_ '1)))
                                  (_e424477_
                                   (let ()
                                     (declare (not safe))
                                     (##vector-ref _g414431_ '2)))
                                  (_e425482_
                                   (let ()
                                     (declare (not safe))
                                     (##vector-ref _g414431_ '3)))
                                  (_e426485_
                                   (let ()
                                     (declare (not safe))
                                     (##vector-ref _g414431_ '4))))
                             (let ((_key475_ _e423472_)
                                   (_help480_ _e424477_)
                                   (_default488_ _e426485_))
                               (_K422469_ _default488_ _help480_ _key475_)))
                           (_try-match417458_)))))
               (if (let ()
                     (declare (not safe))
                     (##structure-direct-instance-of?
                      _g414431_
                      'std/getopt#!reqarg::t))
                   (let* ((_e428502_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _g414431_ '1)))
                          (_e429507_
                           (let ()
                             (declare (not safe))
                             (##vector-ref _g414431_ '2))))
                     (let ((_key505_ _e428502_) (_help510_ _e429507_))
                       (_K427499_ _help510_ _key505_)))
                   (_try-match416490_))))))
       _args408_)))
  (define std/getopt#tabs
    (lambda _strs398_
      (letrec* ((_tablen400_ '31)
                (_string-e401_
                 (lambda (_str406_)
                   (if (symbol? _str406_)
                       (symbol->string _str406_)
                       _str406_))))
        (let ((_len403_
               (foldl1 +
                       '0
                       (map string-length (map _string-e401_ _strs398_)))))
          (if (fx< _len403_ _tablen400_)
              (make-string (fx- _tablen400_ _len403_) '#\space)
              '""))))))
