ó
    Š“,jêM  ã                   ó¼  • S r SSKrSSKrS/rSr " S S\5      r " S S\5      r " S	 S
\	5      r
 " S S\
5      r " S S\
5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      rS! rS" rS# rS$ rS% rS& rS/S' jrS( rS) rS* r S+ r! " S, S-\"5      r#S0S. jr$g)1a  Pythonic command-line interface parser that will make you smile.

* http://docopt.org
* Repository and issue-tracker: https://github.com/docopt/docopt
* Licensed under terms of MIT license (see LICENSE-MIT)
* Copyright (c) 2013 Vladimir Keleshev, vladimir@keleshev.com

é    NÚdocoptz0.6.2c                   ó   • \ rS rSrSrSrg)ÚDocoptLanguageErroré   z4Error in construction of usage-message by developer.© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   ó    Ú”C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\docopt.pyr   r      s   † ä>r   r   c                   ó&   • \ rS rSrSrSrSS jrSrg)Ú
DocoptExité   z;Exit in case user invoked program with incorrect arguments.Ú c                 ój   • [         R                  XS-   U R                  -   R                  5       5        g )NÚ
)Ú
SystemExitÚ__init__ÚusageÚstrip)ÚselfÚmessages     r   r   ÚDocoptExit.__init__   s&   € Ü×Ñ˜D¨T¡>°D·J±JÑ#>×"EÑ"EÓ"GÕHr   r   N)r   )r	   r
   r   r   r   r   r   r   r   r   r   r   r      s   † áEà€E÷Ir   r   c                   óF   • \ rS rSrS rS rS rS
S jrS r\	S 5       r
S	rg)ÚPatterné    c                 ó0   • [        U 5      [        U5      :H  $ ©N©Úrepr)r   Úothers     r   Ú__eq__ÚPattern.__eq__"   s   € Ü�D‹zœT %›[Ñ(Ð(r   c                 ó*   • [        [        U 5      5      $ r"   )Úhashr$   ©r   s    r   Ú__hash__ÚPattern.__hash__%   s   € Ü”D˜“JÓÐr   c                 óF   • U R                  5         U R                  5         U $ r"   )Úfix_identitiesÚfix_repeating_argumentsr*   s    r   ÚfixÚPattern.fix(   s   € Ø×ÑÔØ×$Ñ$Ô&Øˆr   Nc                 óJ  • [        U S5      (       d  U $ Uc"  [        [        U R                  5       5      5      OUn[	        U R
                  5       HP  u  p#[        US5      (       d)  X1;   d   eXR                  U5         U R
                  U'   M?  UR                  U5        MR     g)z>Make pattern-tree tips point to same object if they are equal.ÚchildrenN)ÚhasattrÚlistÚsetÚflatÚ	enumerater3   Úindexr.   )r   ÚuniqÚiÚcs       r   r.   ÚPattern.fix_identities-   s‚   € ä�t˜Z×(Ñ(ØˆKØ)-©Œt”C˜Ÿ	™	›Ó$Ô%¸4ˆÜ˜dŸm™mÖ,‰DˆAÜ˜1˜j×)Ñ)Ø“yÐ �yØ#'¯
©
°1«Ñ#6�—‘˜aÓ à× Ñ  Ö&ò -r   c                 ó†  • U R                   R                   Vs/ s H  n[        UR                  5      PM     nnU H÷  nU Vs/ s H  oR                  U5      S:”  d  M  UPM     sn HÇ  n[	        U5      [
        L d#  [	        U5      [        L aa  UR                  (       aP  UR                  c  / Ul        O;[	        UR                  5      [        La  UR                  R                  5       Ul        [	        U5      [        L d&  [	        U5      [        L d  M®  UR                  S:X  d  MÀ  SUl        MÉ     Mù     U $ s  snf s  snf )z5Fix elements that should accumulate/increment values.é   r   )Úeitherr3   r5   ÚcountÚtypeÚArgumentÚOptionÚargcountÚvalueÚsplitÚCommand)r   r<   r@   ÚcaseÚes        r   r/   ÚPattern.fix_repeating_arguments9   sá   € à,0¯K©K×,@Ò,@ÓAÒ,@ q”$�q—z‘zÖ"Ñ,@ˆÐAÛˆDÙ!%Ó;¢˜A¯©°A«¸Ñ):—a¡Ô;�Ü˜“7œhÒ&¬$¨q«'´VÒ*;ÀÇ
Ç
Ø—w‘w‘Ø"$˜�Ü˜aŸg™g›¬dÒ2Ø"#§'¡'§-¡-£/˜œÜ˜“7œgÒ%¬¨a«´FÔ):¸q¿z¹zÈQ½Ø�A–Gó <ñ ð ˆùò Bùâ;s   ™D9ÁD>ÁD>c                 ó  • / nU //nU(       Gaº  UR                  S5      nU Vs/ s H  n[        U5      PM     nn[        U;   at  U Vs/ s H  n[        U5      [        L d  M  UPM     snS   nUR                  UR                  U5      5        UR                   H  nUR                  U/U-   5        M     GO[        U;   as  U Vs/ s H  n[        U5      [        L d  M  UPM     snS   nUR                  UR                  U5      5        UR                  [        UR                  5      U-   5        GO‰[        U;   as  U Vs/ s H  n[        U5      [        L d  M  UPM     snS   nUR                  UR                  U5      5        UR                  [        UR                  5      U-   5        GO[        U;   ar  U Vs/ s H  n[        U5      [        L d  M  UPM     snS   nUR                  UR                  U5      5        UR                  [        UR                  5      U-   5        O�[        U;   au  U Vs/ s H  n[        U5      [        L d  M  UPM     snS   n	UR                  UR                  U	5      5        UR                  [        U	R                  5      S-  U-   5        OUR                  U5        U(       a  GMº  [        U V
s/ s H  n
[        U
6 PM     sn
6 $ s  snf s  snf s  snf s  snf s  snf s  snf s  sn
f )zATransform pattern into an equivalent, with only top-level Either.r   é   )ÚpoprB   ÚEitherr9   r3   ÚappendÚRequiredr5   ÚOptionalÚ
AnyOptionsÚ	OneOrMore)r   ÚretÚgroupsr3   r<   Útypesr@   ÚrequiredÚoptionalÚ	oneormorerJ   s              r   r@   ÚPattern.eitherG   sk  € ð
 ˆØ�&�ˆßØ—z‘z !“}ˆHÙ&.Ó/¢h ”T˜!–W¡hˆEÐ/Ü˜‹Ù%-ÓC¢X ´°a³¼FÐ1BŸ!¡XÑCÀAÑF�Ø—‘˜XŸ^™^¨FÓ3Ô4ØŸœ�AØ—M‘M 1 #¨¡.Ö1ó )ä˜UÓ"Ù'/ÓG¢x !´4¸³7¼hÐ3FŸA¡xÑGÈÑJ�Ø—‘˜XŸ^™^¨HÓ5Ô6Ø—‘œd 8×#4Ñ#4Ó5¸Ñ@ÖAÜ˜UÓ"Ù'/ÓG¢x !´4¸³7¼hÐ3FŸA¡xÑGÈÑJ�Ø—‘˜XŸ^™^¨HÓ5Ô6Ø—‘œd 8×#4Ñ#4Ó5¸Ñ@ÖAÜ˜uÓ$Ù'/ÓI¢x !´4¸³7¼jÐ3HŸA¡xÑIÈ!ÑL�Ø—‘˜XŸ^™^¨HÓ5Ô6Ø—‘œd 8×#4Ñ#4Ó5¸Ñ@ÕAÜ˜eÓ#Ù(0ÓIª 1´D¸³G¼yÐ4HŸQ©ÑIÈ!ÑL�	Ø—‘˜XŸ^™^¨IÓ6Ô7Ø—‘œd 9×#5Ñ#5Ó6¸Ñ:¸XÑEÕFà—
‘
˜8Ô$÷3 ‰fô4 ©cÓ2ªc¨œ !›©cÑ2Ð3Ð3ùò1 0ùâCùò
 Hùò Hùò Jùò Jùò
 3sG   ¤K(Á	K-Á#K-ÃK2Ã!K2ÅK7ÅK7ÇK<ÇK<È=LÉLËLr   r"   )r	   r
   r   r   r&   r+   r0   r.   r/   Úpropertyr@   r   r   r   r   r   r       s/   † ò)ò òô

'òð ñ 4ó ó 4r   r   c                   ó4   • \ rS rSrSS jrS rS rSS jrSrg)	ÚChildPatternék   Nc                 ó   • Xl         X l        g r"   ©ÚnamerF   ©r   rb   rF   s      r   r   ÚChildPattern.__init__m   ó   € ØŒ	Ø�
r   c                 ón   • U R                   R                  < SU R                  < SU R                  < S3$ )NÚ(ú, Ú))Ú	__class__r	   rb   rF   r*   s    r   Ú__repr__ÚChildPattern.__repr__q   s!   € Ø#Ÿ~™~×6Ô6¸¿	¼	À4Ç:Ä:ÐNÐNr   c                 ó8   • U(       a  [        U 5      U;   a  U /$ / $ r"   )rB   )r   rW   s     r   r7   ÚChildPattern.flatt   s   € Þ"¤d¨4£j°EÓ&9�ˆvÐA¸rÐAr   c                 ó"  • Uc  / OUnU R                  U5      u  p4Uc  SX4$ US U XS-   S  -   nU Vs/ s H   ofR                  U R                  :X  d  M  UPM"     nn[        U R                  5      [        [
        4;   a…  [        U R                  5      [        L a  SnO5[        UR                  5      [        L a  UR                  /OUR                  nU(       d  X„l        SXRU/-   4$ US   =R                  U-  sl        SXR4$ SXRU/-   4$ s  snf )NFr?   Tr   )Úsingle_matchrb   rB   rF   Úintr5   Ústr)	r   ÚleftÚ	collectedÚposÚmatchÚleft_ÚaÚ	same_nameÚ	increments	            r   rv   ÚChildPattern.matchw   s  € Ø#Ñ+‘B°ˆ	Ø×&Ñ& tÓ,‰
ˆØ‰=Ø˜$Ð)Ð)Ø�T�c�
˜T¨¡' (˜^Ñ+ˆÙ )ÓA¢	˜1¯V©V°t·y±yÑ-@—Q¡	ˆ	ÐAÜ�—
‘
Ó¤¤T˜{Ó*Ü�D—J‘JÓ¤3Ò&Ø‘	ä.2°5·;±;Ó.?Ä3Ò.F˜eŸk™k™]Ø"'§+¡+ð æØ'”Ø˜U°°Ñ$7Ð7Ð7Ø�a‰L×Ò )Ñ+ÕØ˜Ð)Ð)Ø�U¨¨Ñ/Ð/Ð/ùò Bs   ³DÁDra   r"   )	r	   r
   r   r   r   rk   r7   rv   r   r   r   r   r^   r^   k   s   † ôòOòB÷0r   r^   c                   ó&   • \ rS rSrS rS rS rSrg)ÚParentPatternéŒ   c                 ó$   • [        U5      U l        g r"   )r5   r3   )r   r3   s     r   r   ÚParentPattern.__init__Ž   s   € Ü˜X›ˆ�r   c                 ó~   • U R                   R                  < SSR                  S U R                   5       5      < S3$ )Nrg   rh   c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr"   r#   ©Ú.0rx   s     r   Ú	<genexpr>Ú)ParentPattern.__repr__.<locals>.<genexpr>“   s   é € Ð$D²m°¤T¨!§W W²mùó   ‚ri   )rj   r	   Újoinr3   r*   s    r   rk   ÚParentPattern.__repr__‘   s1   € ØŸ>™>×2Ô2ØŸ9™9Ñ$D°d·m²mÓ$DÖDðFð 	Fr   c                 ó–   • [        U 5      U;   a  U /$ [        U R                   Vs/ s H  o"R                  " U6 PM     sn/ 5      $ s  snf r"   )rB   Úsumr3   r7   )r   rW   r<   s      r   r7   ÚParentPattern.flat•   s>   € Ü�‹:˜ÓØ�6ˆMÜ¨D¯MªMÓ:ªM q—F’F˜E“N©MÑ:¸BÓ?Ð?ùÒ:s   ¦A)r3   N)r	   r
   r   r   r   rk   r7   r   r   r   r   r}   r}   Œ   s   † ò'òFõ@r   r}   c                   ó*   • \ rS rSrS r\S 5       rSrg)rC   é›   c                 ó˜   • [        U5       H;  u  p#[        U5      [        L d  M  U[        U R                  UR                  5      4s  $    g©N©NN)r8   rB   rC   rb   rF   ©r   rs   ÚnÚps       r   rp   ÚArgument.single_match�   s=   € Ü˜d–O‰DˆAÜ�A‹wœ(Ô"Øœ( 4§9¡9¨a¯g©gÓ6Ð6Ò6ñ $ð r   c                 ó®   • [         R                  " SU5      S   n[         R                  " SU[         R                  S9nU " X#(       a	  US   5      $ S 5      $ )Nz(<\S*?>)r   ú\[default: (.*)\]©Úflags)ÚreÚfindallÚI)Úclass_Úsourcerb   rF   s       r   ÚparseÚArgument.parse£   sI   € ä�zŠz˜* fÓ-¨aÑ0ˆÜ—
’
Ð.°¼b¿d¹dÑCˆÙ�d­˜E !™HÓ8Ð8°4Ó8Ð8r   r   N)r	   r
   r   r   rp   ÚclassmethodrŸ   r   r   r   r   rC   rC   ›   s   † òð ñ9ó ó9r   rC   c                   ó$   • \ rS rSrSS jrS rSrg)rH   éª   c                 ó   • Xl         X l        g r"   ra   rc   s      r   r   ÚCommand.__init__¬   re   r   c                 ó¼   • [        U5       HM  u  p#[        U5      [        L d  M  UR                  U R                  :X  a  U[        U R                  S5      4s  $   g   g)NTr‘   )r8   rB   rC   rF   rb   rH   r’   s       r   rp   ÚCommand.single_match°   sO   € Ü˜d–O‰DˆAÜ�A‹wœ(Ô"Ø—7‘7˜dŸi™iÓ'Øœg d§i¡i°Ó6Ð6Ò6àØñ $ð r   ra   N©F)r	   r
   r   r   r   rp   r   r   r   r   rH   rH   ª   s   † ôõr   rH   c                   óJ   • \ rS rSrS	S jr\S 5       rS r\S 5       r	S r
Srg)
rD   éº   Nc                 ó‚   • US;   d   eXsU l         U l        X4sU l        U l        USL a  U(       a  S U l        g UU l        g )N)r   r?   F©ÚshortÚlongrE   rF   )r   r­   r®   rE   rF   s        r   r   ÚOption.__init__¼   sA   € Ø˜6Ó!Ð!Ð!Ø %ÐˆŒ
�D”IØ$,Ð!ˆŒ�t”zØ" eš^¶�Tˆ�
¸eˆ�
r   c                 ó²  • Su  p#pEUR                  5       R                  S5      u  pgnUR                  SS5      R                  SS5      nUR                  5        H9  n	U	R	                  S5      (       a  U	nM  U	R	                  S5      (       a  U	nM7  SnM;     U(       a2  [
        R                  " S	U[
        R                  S
9n
U
(       a  U
S   OS nU " X#XE5      $ )N©NNr   Fz  Ú,Ú Ú=ú--Ú-r?   r—   r˜   r   )r   Ú	partitionÚreplacerG   Ú
startswithrš   r›   rœ   )r�   Úoption_descriptionr­   r®   rE   rF   ÚoptionsÚ_ÚdescriptionÚsÚmatcheds              r   rŸ   ÚOption.parseÂ   sº   € à';Ñ$ˆ�XØ"4×":Ñ":Ó"<×"FÑ"FÀtÓ"LÑˆ�KØ—/‘/ # sÓ+×3Ñ3°C¸Ó=ˆØ—‘–ˆAØ�|‰|˜D×!Ñ!Ø’Ø—‘˜c×"Ñ"Ø’à’ñ !ö Ü—j’jÐ!4°kÌÏÉÑNˆGÞ")�G˜A’J¨tˆEÙ�e 8Ó3Ð3r   c                 ój   • [        U5       H$  u  p#U R                  UR                  :X  d  M!  X#4s  $    gr�   )r8   rb   r’   s       r   rp   ÚOption.single_matchÓ   s.   € Ü˜d–O‰DˆAØ�y‰y˜AŸF™FÕ"Ø�t’ñ $ð r   c                 ó@   • U R                   =(       d    U R                  $ r"   )r®   r­   r*   s    r   rb   ÚOption.nameÙ   s   € à�y‰y×&˜DŸJ™JÐ&r   c           	      óx   • SU R                   < SU R                  < SU R                  < SU R                  < S3	$ )NzOption(rh   ri   r¬   r*   s    r   rk   ÚOption.__repr__Ý   s(   � Ø+/¯:¬:°t·y´yØ+/¯=¬=¸$¿*¼*ðFð 	Fr   )rE   r®   r­   rF   r±   )r	   r
   r   r   r   r¡   rŸ   rp   r\   rb   rk   r   r   r   r   rD   rD   º   s;   † ôDð ñ4ó ð4ò ð ñ'ó ð'õFr   rD   c                   ó   • \ rS rSrSS jrSrg)rQ   éâ   Nc                 óˆ   • Uc  / OUnUnUnU R                    H$  nUR                  X45      u  pcnU(       a  M   SX4s  $    SX44$ )NFT©r3   rv   )r   rs   rt   Úlr<   r”   r¿   s          r   rv   ÚRequired.matchä   sS   € Ø#Ñ+‘B°ˆ	ØˆØˆØ—”ˆAØŸG™G A›M‰MˆG˜ß�7Ø˜dÐ-Ò-ñ ð �QˆzÐr   r   r"   ©r	   r
   r   r   rv   r   r   r   r   rQ   rQ   â   s   † ÷r   rQ   c                   ó   • \ rS rSrSS jrSrg)rR   éï   Nc                 óf   • Uc  / OUnU R                    H  nUR                  X5      u  pAnM     SX4$ )NTrÊ   )r   rs   rt   r”   Úms        r   rv   ÚOptional.matchñ   s:   € Ø#Ñ+‘B°ˆ	Ø—”ˆAØ!"§¡¨Ó!9ÑˆA’Yñ à�TÐ$Ð$r   r   r"   rÍ   r   r   r   rR   rR   ï   s   † ÷%r   rR   c                   ó   • \ rS rSrSrSrg)rS   éø   z*Marker/placeholder for [options] shortcut.r   Nr   r   r   r   rS   rS   ø   s   † ä4r   rS   c                   ó   • \ rS rSrSS jrSrg)rT   éý   Nc                 ó  • [        U R                  5      S:X  d   eUc  / OUnUnUnS nSnSnU(       a?  U R                  S   R                  X45      u  pcnXv(       a  SOS-  nXS:X  a  OUnU(       a  M?  US:¼  a  SX44$ SX4$ )Nr?   Tr   F)Úlenr3   rv   )r   rs   rt   rË   r<   Úl_r¿   Útimess           r   rv   ÚOneOrMore.matchÿ   sž   € Ü�4—=‘=Ó! QÓ&Ð&Ð&Ø#Ñ+‘B°ˆ	ØˆØˆØˆØˆØˆÞà ŸM™M¨!Ñ,×2Ñ2°1Ó8‰MˆG˜Ø�'‘Q qÑ(ˆEØ‹wØØˆB÷ ˆgð �A‹:Ø˜�:ÐØ�dÐ%Ð%r   r   r"   rÍ   r   r   r   rT   rT   ý   s   † ÷&r   rT   c                   ó   • \ rS rSrSS jrSrg)rO   i  Nc                 óÆ   • Uc  / OUn/ nU R                    H3  nUR                  X5      =u  n  pgU(       d  M"  UR                  U5        M5     U(       a  [        US S9$ SX4$ )Nc                 ó   • [        U S   5      $ )Nr?   ©rØ   )Úoutcomes    r   Ú<lambda>ÚEither.match.<locals>.<lambda>  s   € ´S¸À¹´_r   )ÚkeyF)r3   rv   rP   Úmin)r   rs   rt   Úoutcomesr”   r¿   r¼   rà   s           r   rv   ÚEither.match  sg   € Ø#Ñ+‘B°ˆ	ØˆØ—”ˆAØ&'§g¡g¨dÓ&>Ð>‰MˆG�Q˜ßˆwØ—‘ Ö(ñ ö Ü�xÑ%DÑEÐEØ�dÐ%Ð%r   r   r"   rÍ   r   r   r   rO   rO     s   † ÷	&r   rO   c                   ó&   • \ rS rSrS rS rS rSrg)ÚTokenStreami!  c                 ó\   • U [        US5      (       a  UR                  5       OU-  n X l        g )NrG   )r4   rG   Úerror)r   rž   rê   s      r   r   ÚTokenStream.__init__#  s%   € Ø¤'¨&°'×":Ñ":�—‘”ÀÑFˆØ�
r   c                 óH   • [        U 5      (       a  U R                  S5      $ S $ ©Nr   )rØ   rN   r*   s    r   ÚmoveÚTokenStream.move'  s   € Ü! $Ÿi™iˆt�x‰x˜‹{Ð1¨TÐ1r   c                 ó0   • [        U 5      (       a  U S   $ S $ rí   rß   r*   s    r   ÚcurrentÚTokenStream.current*  s   € Ü˜dŸ)™)ˆt�A‰wÐ-¨Ð-r   )rê   N)r	   r
   r   r   r   rî   rñ   r   r   r   r   rè   rè   !  s   † òò2õ.r   rè   c                 ó¤  • U R                  5       R                  S5      u  p#nUR                  S5      (       d   eX4s=:X  a  S:X  a  O  OSOUnU Vs/ s H  oUR                  U:X  d  M  UPM     nnU R                  [
        L aL  U/ :X  aF  U Vs/ s H9  oUR                  (       d  M  UR                  R                  U5      (       d  M7  UPM;     nn[        U5      S:”  a/  U R	                  U< SSR                  S U 5       5      < S	35      e[        U5      S:  aS  US:X  a  SOS
n[        SX'5      nUR                  U5        U R                  [
        L a  [        SX'U(       a  UOS5      nU/$ [        US
   R                  US
   R                  US
   R                  US
   R                  5      nUR                  S
:X  a"  Ub  U R	                  SUR                  -  5      eOBUc?  U R                  5       c  U R	                  SUR                  -  5      eU R                  5       nU R                  [
        L a  Ub  UOSUl        U/$ s  snf s  snf )z-long ::= '--' chars [ ( ' ' | '=' ) chars ] ;r´   rµ   r   Nr?   z is not a unique prefix: rh   c              3   ó8   #   • U  H  oR                   v •  M     g 7fr"   )r®   ©r„   Úos     r   r…   Úparse_long.<locals>.<genexpr>8  s   é € Ð+DºG°q¯F®FºGùr‡   Ú?r   Tz%s must not have an argumentú%s requires argument)rî   r·   r¹   r®   rê   r   rØ   rˆ   rD   rP   r­   rE   rF   rñ   )Útokensr»   r®   ÚeqrF   rö   ÚsimilarrE   s           r   Ú
parse_longrý   .  s÷  € à—k‘k“m×-Ñ-¨cÓ2�O€DˆeØ�?‰?˜4× Ñ Ð Ð ØÕ% 2Ö%‰D¨5€EÙ!Ó4š'�Q§V¡V¨t¡^�q™'€GÐ4Ø‡|�|”zÒ! g°£mÙ%ÓLšg˜¯­“1°A·F±F×4EÑ4EÀd×4K—1™gˆÐLÜ
ˆ7ƒ|�aÓØ�l‰lÛ  $§)¡)Ñ+D¹GÓ+DÖ"DðFó Gð 	Gä	ˆW‹˜Ó	Ø˜c›	‘1 qˆÜ�4˜Ó(ˆØ�‰�qÔØ�<‰<œ:Ò%Ü�t˜T¶h©UÀDÓIˆAð ˆ3€Jô �7˜1‘:×#Ñ# W¨Q¡Z§_¡_Ø˜1‘:×&Ñ&¨°©
×(8Ñ(8ó:ˆà�:‰:˜‹?ØÑ Ø—l‘lÐ#AÀAÇFÁFÑ#JÓKÐKð !ð ‰}Ø—>‘>Ó#Ñ+Ø Ÿ,™,Ð'=ÀÇÁÑ'FÓGÐGØŸ™›�Ø�<‰<œ:Ò%Ø$Ñ0‘e°dˆAŒGØˆ3€Jùò3 5ùâLs   ÁIÁ)IÂIÂ&IÃIc                 ó–  • U R                  5       nUR                  S5      (       a  UR                  S5      (       a   eUR                  S5      n/ nUS:w  Gak  SUS   -   USS p5U Vs/ s H  ofR                  U:X  d  M  UPM     nn[	        U5      S:”  a  U R                  SU[	        U5      4-  5      e[	        U5      S:  a@  [        USS5      nUR                  U5        U R
                  [        L a  [        USSS5      nO¥[        XWS   R                  US   R                  US   R                  5      nSnUR                  S:w  a@  US:X  a6  U R                  5       c  U R                  S	U-  5      eU R                  5       nOUnSnU R
                  [        L a  Ub  UOSUl        UR                  U5        US:w  a  GMk  U$ s  snf )
z-shorts ::= '-' ( chars )* [ [ ' ' ] chars ] ;r¶   rµ   r   r   r?   Nz$%s is specified ambiguously %d timesTrù   )rî   r¹   Úlstripr­   rØ   rê   rD   rP   r   r®   rE   rF   rñ   )	rú   r»   Útokenrs   Úparsedr­   rö   rü   rF   s	            r   Úparse_shortsr  O  sª  € à�K‰K‹M€EØ×Ñ˜C× Ñ ¨×)9Ñ)9¸$×)?Ñ)?Ð?Ð?Ø�<‰<˜Ó€DØ€FØ
�"Œ*Ø˜D ™G‘m T¨!¨" XˆtÙ%Ó:šg˜¯©°EÑ)9—1™gˆÐ:Üˆw‹<˜!ÓØ—,‘,ÐEØ %¤s¨7£|Ð4ñ 5ó 6ð 6ä�‹\˜AÓÜ�u˜d AÓ&ˆAØ�N‰N˜1ÔØ�|‰|œzÒ)Ü˜5 $¨¨4Ó0�øä�u a™jŸo™oØ˜q‘z×*Ñ*¨G°A©J×,<Ñ,<ó>ˆAàˆEØ�z‰z˜Q‹Ø˜2“:Ø—~‘~Ó'Ñ/Ø$Ÿl™lÐ+AÀEÑ+IÓJÐJØ"ŸK™K›M‘Eà �EØ�DØ�|‰|œzÒ)Ø#(Ñ#4™%¸$�”Ø�‰�aÔð3 �"Ž*ð4 €Mùò1 ;s   Á)GÂ Gc                 óÜ   • [        [        R                  " SSU 5      [        5      n[	        X!5      nUR                  5       b#  UR                  SSR                  U5      -  5      e[        U6 $ )Nz([\[\]\(\)\|]|\.\.\.)z \1 zunexpected ending: %rr³   )	rè   rš   Úsubr   Ú
parse_exprrñ   rê   rˆ   rQ   )rž   r»   rú   Úresults       r   Úparse_patternr  r  s_   € ÜœŸšÐ 8¸'À6ÓJÜ,ó.€Fä˜Ó(€FØ‡~�~ÓÑ#Ø�l‰lÐ2°S·X±X¸fÓ5EÑEÓFÐFÜ�VÐÐr   c                 óp  • [        X5      nU R                  5       S:w  a  U$ [        U5      S:”  a	  [        U6 /OUnU R                  5       S:X  aN  U R	                  5         [        X5      nU[        U5      S:”  a	  [        U6 /OU-  nU R                  5       S:X  a  MN  [        U5      S:”  a	  [        U6 /$ U$ )zexpr ::= seq ( '|' seq )* ;Ú|r?   )Ú	parse_seqrñ   rØ   rQ   rî   rO   )rú   r»   Úseqr  s       r   r  r  {  s¦   € ä
�FÓ
$€CØ‡~�~Ó˜3ÓØˆ
Ü!$ S£¨A£Œh˜ˆnÑ°3€FØ
�.‰.Ó
˜cÓ
!Ø�‰ŒÜ˜Ó(ˆØ¤c¨#£h°£l”8˜S�>Ñ"¸Ñ;ˆð �.‰.Ó
˜cÕ
!ô !$ F£¨a£ŒF�FˆOÐÐ;°VÐ;r   c                 óÖ   • / nU R                  5       S;  aR  [        X5      nU R                  5       S:X  a  [        U6 /nU R                  5         X#-  nU R                  5       S;  a  MR  U$ )zseq ::= ( atom [ '...' ] )* ;)NÚ]ri   r	  z...)rñ   Ú
parse_atomrT   rî   )rú   r»   r  Úatoms       r   r
  r
  ˆ  sf   € à€FØ
�.‰.Ó
Ð"7Ó
7Ü˜&Ó*ˆØ�>‰>Ó˜uÓ$Ü˜tÐ$Ð%ˆDØ�K‰KŒMØ‰ˆð �.‰.Ó
Ð"7Õ
7ð €Mr   c                 ó¸  • U R                  5       n/ nUS;   a_  U R                  5         S[        /S[        /S.U   u  pEU" [	        X5      6 nU R                  5       U:w  a  U R                  SU-  5      eU/$ US:X  a  U R                  5         [        5       /$ UR                  S5      (       a  US:w  a  [        X5      $ UR                  S5      (       a  US	;  a  [        X5      $ UR                  S
5      (       a  UR                  S5      (       d  UR                  5       (       a  [        U R                  5       5      /$ [        U R                  5       5      /$ )zXatom ::= '(' expr ')' | '[' expr ']' | 'options'
| long | shorts | argument | command ;
z([ri   r  )rg   Ú[zunmatched '%s'r»   rµ   r¶   )r¶   rµ   Ú<Ú>)rñ   rî   rQ   rR   r  rê   rS   r¹   rý   r  ÚendswithÚisupperrC   rH   )rú   r»   r   r  ÚmatchingÚpatterns         r   r  r  ”  s)  € ð �N‰NÓ€EØ€FØ�ƒ}Ø�‰ŒØ#&¬ /¸¼h¸ÑHÈÑOÑˆÙœ* VÓ5Ð6ˆØ�;‰;‹=˜HÓ$Ø—,‘,Ð/°%Ñ7Ó8Ð8ØˆxˆØ	�)Ó	Ø�‰ŒÜ“ˆ~ÐØ	×	Ñ	˜$×	Ñ	 E¨T£MÜ˜&Ó*Ð*Ø	×	Ñ	˜#×	Ñ	 5°Ó#;Ü˜FÓ,Ð,Ø	×	Ñ	˜#×	Ñ	 5§>¡>°#×#6Ñ#6¸%¿-¹-¿/¹/Ü˜Ÿ™›Ó'Ð(Ð(ä˜Ÿ™›Ó&Ð'Ð'r   c                 ób  • / nU R                  5       Gb  U R                  5       S:X  a  X0 Vs/ s H  n[        SU5      PM     sn-   $ U R                  5       R                  S5      (       a  U[        X5      -  nO–U R                  5       R                  S5      (       a#  U R                  5       S:w  a  U[	        X5      -  nOOU(       a  X0 Vs/ s H  n[        SU5      PM     sn-   $ UR                  [        SU R                  5       5      5        U R                  5       b  GM  U$ s  snf s  snf )zÉParse command-line argument vector.

If options_first:
    argv ::= [ long | shorts ]* [ argument ]* [ '--' [ argument ]* ] ;
else:
    argv ::= [ long | shorts | argument ]* [ '--' [ argument ]* ] ;

Nrµ   r¶   )rñ   rC   r¹   rý   r  rP   rî   )rú   r»   Úoptions_firstr  Úvs        r   Ú
parse_argvr  ®  s  € ð €FØ
�.‰.Ó
Ò
&Ø�>‰>Ó˜tÓ#Ø¸Ó?º°1œX d¨AÖ.¹Ñ?Ñ?Ð?Ø�^‰^Ó×(Ñ(¨×.Ñ.Ø”j Ó1Ñ1‰FØ�^‰^Ó×(Ñ(¨×-Ñ-°&·.±.Ó2BÀcÓ2IØ”l 6Ó3Ñ3‰FÞØ¸Ó?º°1œX d¨AÖ.¹Ñ?Ñ?Ð?à�M‰Mœ( 4¨¯©«Ó7Ô8ð �.‰.Ó
Ô
&ð €Mùò @ùò @s   ­D'ÃD,c                 ó$  • [         R                  " SU 5      SS  n[        US S S2   USS S2   5       VVs/ s H	  u  p#X#-   PM     nnnU Vs/ s H/  oDR                  S5      (       d  M  [        R                  U5      PM1     nnU$ s  snnf s  snf )Nz
 *(<\S+?>|-\S+?)r?   rM   r¶   )rš   rG   Úzipr¹   rD   rŸ   )ÚdocrG   Ús1Ús2r¾   r»   s         r   Úparse_defaultsr!  Æ  s„   € ä�HŠHÐ)¨3Ó/°°Ð3€EÜ#& u©S¨q¨S¡z°5¸¸¸A¸±;Ô#?Ô@Ò#?™˜ˆRŒWÑ#?€EÑ@Ù(-ÓCª 1·±¸c×1B‹Œv�|‰|˜AŽ©€GÐCð €Nùó	 AùÚCs   ¶BÁBÁ*Bc                 ó  • [         R                  " SU 5      n[        U5      S:  a  [        S5      e[        U5      S:”  a  [        S5      e[         R                  " SSR	                  USS  5      5      S   R                  5       $ )	Nz([Uu][Ss][Aa][Gg][Ee]:)é   z&"usage:" (case-insensitive) not found.z*More than one "usage:" (case-insensitive).z\n\s*\nr   r?   r   )rš   rG   rØ   r   rˆ   r   )r  Úusage_splits     r   Úprintable_usager%  Ð  ss   € ä—(’(Ð5°sÓ;€KÜ
ˆ;Ó˜!ÓÜ!Ð"JÓKÐKÜ
ˆ;Ó˜!ÓÜ!Ð"NÓOÐOÜ�8Š8�J §¡¨°A°B¨Ó 8Ó9¸!Ñ<×BÑBÓDÐDr   c                 ór   ^• U R                  5       SS  mSSR                  U4S jTSS   5       5      -   S-   $ )Nr?   z( r³   c              3   ó<   >#   • U  H  oTS    :X  a  SOUv •  M     g7f)r   z) | (Nr   )r„   r¾   Úpus     €r   r…   Úformal_usage.<locals>.<genexpr>Ü  s   øé € ÐHÂ¸A¨2¨a©5£j™7°aÔ7Âùs   ƒz ))rG   rˆ   )r%  r(  s    @r   Úformal_usager*  Ú  s=   ø€ Ø	×	Ñ	Ó	   Ð	$€BØ�#—(‘(ÔHÀÀAÀBÁÓHÓHÑHÈ4ÑOÐOr   c                 ó  • U (       aF  [        S U 5       5      (       a/  [        UR                  S5      5        [        R                  " 5         U(       a9  [        S U 5       5      (       a!  [        U5        [        R                  " 5         g g g )Nc              3   ód   #   • U  H&  oR                   S ;   =(       a    UR                  v •  M(     g7f))z-hz--helpNra   rõ   s     r   r…   Úextras.<locals>.<genexpr>à  s$   é € ÐNÂgÀ—V‘VÐ/Ñ/×<°Q·W±WÔ<Âgùó   ‚.0r   c              3   ód   #   • U  H&  oR                   S :H  =(       a    UR                  v •  M(     g7f)z	--versionNra   rõ   s     r   r…   r-  ã  s#   é € ÐJÂ'¸Q—v‘v Ñ,×8°·±Ô8Â'ùr.  )ÚanyÚprintr   ÚsysÚexit)ÚhelpÚversionr»   r  s       r   Úextrasr6  ß  sY   € Þ”ÑNÁgÓN×NÑNÜˆc�i‰i˜‹oÔÜ�ŠŒ
Þ”3ÑJÁ'ÓJ×JÑJÜˆgŒÜ�Š�
ð K€wr   c                   ó   • \ rS rSrS rSrg)ÚDictiè  c                 óf   • SSR                  S [        U R                  5       5       5       5      -  $ )Nz{%s}z,
 c              3   ó,   #   • U  H
  nS U-  v •  M     g7f)z%r: %rNr   )r„   r;   s     r   r…   Ú Dict.__repr__.<locals>.<genexpr>ê  s   é € Ð#OÒ:N°Q H¨q¦LÒ:Nùs   ‚)rˆ   ÚsortedÚitemsr*   s    r   rk   ÚDict.__repr__é  s'   € Ø˜Ÿ™Ñ#O¼&ÀÇÁÃÔ:NÓ#OÓOÑOÐOr   r   N)r	   r
   r   r   rk   r   r   r   r   r8  r8  è  s   † õPr   r8  c                 óŒ  • Uc  [         R                  SS n[        U 5      [        l        [        U 5      n[        [        [        R                  5      U5      n[        [        U[        5      [        U5      U5      n[        UR                  [        5      5      nUR                  [        5       H*  n[        U 5      n	[        [        U	5      U-
  5      Ul        M,     [!        X#X5        UR#                  5       R%                  U5      u  p«nU
(       a)  U/ :X  a#  ['        S UR                  5       U-    5       5      $ [        5       e)aõ  Parse `argv` based on command-line interface described in `doc`.

`docopt` creates your command-line interface based on its
description that you pass as `doc`. Such description can contain
--options, <positional-argument>, commands, which could be
[optional], (required), (mutually | exclusive) or repeated...

Parameters
----------
doc : str
    Description of your command-line interface.
argv : list of str, optional
    Argument vector to be parsed. sys.argv[1:] is used if not
    provided.
help : bool (default: True)
    Set to False to disable automatic help on -h or --help
    options.
version : any object
    If passed, the object will be printed if --version is in
    `argv`.
options_first : bool (default: False)
    Set to True to require options preceed positional arguments,
    i.e. to forbid options and positional arguments intermix.

Returns
-------
args : dict
    A dictionary, where keys are names of command-line elements
    such as e.g. "--verbose" and "<path>", and values are the
    parsed values of those elements.

Example
-------
>>> from docopt import docopt
>>> doc = '''
Usage:
    my_program tcp <host> <port> [--timeout=<seconds>]
    my_program serial <port> [--baud=<n>] [--timeout=<seconds>]
    my_program (-h | --help | --version)

Options:
    -h, --help  Show this screen and exit.
    --baud=<n>  Baudrate [default: 9600]
'''
>>> argv = ['tcp', '127.0.0.1', '80', '--timeout', '30']
>>> docopt(doc, argv)
{'--baud': '9600',
 '--help': False,
 '--timeout': '30',
 '--version': False,
 '<host>': '127.0.0.1',
 '<port>': '80',
 'serial': False,
 'tcp': True}

See also
--------
* For video introduction see http://docopt.org
* Full documentation is available in README.rst as well as online
  at https://github.com/docopt/docopt#readme

Nr?   c              3   óP   #   • U  H  oR                   UR                  4v •  M     g 7fr"   ra   rƒ   s     r   r…   Údocopt.<locals>.<genexpr>B  s   é € ÐLÒ0J¨!—V‘V˜QŸW™WÕ%Ò0Jùs   ‚$&)r2  Úargvr%  r   r   r!  r  r*  r  rè   r5   r6   r7   rD   rS   r3   r6  r0   rv   r8  )r  rB  r4  r5  r  r»   r  Úpattern_optionsÚaoÚdoc_optionsr¿   rs   rt   s                r   r   r   í  sÿ   € ð~ �|Ü�x‰x˜˜ˆ|ˆÜ& sÓ+„JÔÜ˜SÓ!€GÜœL¬×)9Ñ)9Ó:¸GÓD€Gô ”k $¬
Ó3´T¸'³]Ø#ó%€Dä˜'Ÿ,™,¤vÓ.Ó/€OØ�l‰lœ:Ö&ˆÜ$ SÓ)ˆÜœ3˜{Ó+¨oÑ=Ó>ˆŽñ 'ô ˆ4˜$Ô$Ø&Ÿ{™{›}×2Ñ2°4Ó8Ñ€G�9Þ�4˜2“:ÜÑL°·±³ÀÒ0JÓLÓLÐLÜ
‹,Ðr   r¨   )NTNF)%r   r2  rš   Ú__all__Ú__version__Ú	Exceptionr   r   r   Úobjectr   r^   r}   rC   rH   rD   rQ   rR   rS   rT   rO   r5   rè   rý   r  r  r  r
  r  r  r!  r%  r*  r6  Údictr8  r   r   r   r   Ú<module>rK     s"  ðñó Û 	ð ˆ*€Ø€ô?˜)ô ?ô
I�ô IôH4ˆfô H4ôV0�7ô 0ôB@�Gô @ô9ˆ|ô 9ôˆhô ô %Fˆ\ô %FôP
ˆ}ô 
ô%ˆ}ô %ô5�ô 5ô
&�ô &ô,&ˆ]ô &ô
.�$ô 
.òòB òFò
<ò	ò(ô4ò0òEòPò
ôPˆ4ô Põ
Vr   