ó
    Ñ]j=>  ã                  ó<  • S SK Jr  S SKrS SKrS SKrS SKrS SKJr  S SKJ	r
  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SK J!r!  S SK"J#r#  S SK$J%r%  S SK&J'r'  S SK(J)r)  S SK*J+r+  S SK,J-r-  S SK.J/r/  S SK0J1r1  \Rd                  " S5      r3\Rh                  Rk                  SS5        \Rh                  Rk                  SS5        1 Skr6S#S jr7S#S jr8S#S jr9S$S  jr:S%S&S! jjr;\<S":X  a  \=" \;" 5       5      eg)'é    )ÚannotationsN)ÚSequence)Ú	clientlib)Úgit)Úadd_color_option)Úhazmat)Ú
autoupdate)Úclean)Úgc)Ú	hook_impl)Úinit_templatedir)Úinstall)Úinstall_hooks)Ú	uninstall)Úmigrate_config)Úrun)Úsample_config)Útry_repo)Úvalidate_config)Úvalidate_manifest)Úerror_handler)Úlogging_handler)ÚStoreÚ
pre_commitÚ__PYVENV_LAUNCHER__ÚPYTHONEXECUTABLE>   r   r
   r   úsample-configúvalidate-configúinit-templatedirúvalidate-manifestc                óD   • U R                  SS[        R                  SS9  g )Nz-cz--configzPath to alternate config file)ÚdefaultÚhelp)Úadd_argumentÚCÚCONFIG_FILE©Úparsers    ÚL/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pre_commit/main.pyÚ_add_config_optionr*   2   s#   € Ø
×ÑØˆj¤!§-¡-Ø,ð ò ó    c                óF   • U R                  SS[        R                  SSS9  g )Nz-tú--hook-typeÚappendÚ
hook_types)ÚchoicesÚactionÚdest)r$   r   Ú
HOOK_TYPESr'   s    r)   Ú_add_hook_type_optionr4   9   s'   € Ø
×ÑØˆmÜ×$Ñ$¨X¸Lð ò r+   c                ó  • U R                  SSSS9  U R                  SSSS9  U R                  S	S
9nUR                  SSSSS9  UR                  SS/ SS9  U R                  SSSS9  U R                  SSSS9  U R                  S[        R                  [        R                  SSS9  U R                  SSS9  U R                  SSS9  U R                  S S!S"S#S9  U R                  S$S%S&S'S9  U R                  S(S)S9  U R                  S*S+S9  U R                  S,S-S9  U R                  S.S/S9  U R                  S0S1S9  U R                  S2S3S9  U R                  S4S5S9  U R                  S6S7S9  U R                  S8S9S9  U R                  S:S;S9  g )<NÚhookÚ?zA single hook-id to run©Únargsr#   z	--verbosez-vÚ
store_true©r1   F©Úrequiredz--all-filesz-az!Run on all the files in the repo.©r1   r#   z--filesÚ*z#Specific filenames to run hooks on.)r9   r"   r#   z--show-diff-on-failurez3When hooks fail, run `git diff` directly afterward.z--fail-fastz"Stop after the first failing hook.z--hook-stageú
pre-commitz=The stage during which the hook is fired.  One of %(choices)s)r0   Útyper"   r#   z--remote-branchz%Remote branch ref used by `git push`.©r#   z--local-branchz$Local branch ref used by `git push`.z
--from-refz--sourcez-sa  (for usage with `--to-ref`) -- this option represents the original ref in a `from_ref...to_ref` diff expression.  For `pre-push` hooks, this represents the branch you are pushing to.  For `post-checkout` hooks, this represents the branch that was previously checked out.z--to-refz--originz-oa  (for usage with `--from-ref`) -- this option represents the destination ref in a `from_ref...to_ref` diff expression.  For `pre-push` hooks, this represents the branch being pushed.  For `post-checkout` hooks, this represents the branch that is now checked out.z--pre-rebase-upstreamz.The upstream from which the series was forked.z--pre-rebase-branchzKThe branch being rebased, and is not set when  rebasing the current branch.z--commit-msg-filenamez2Filename to check when running during `commit-msg`z--prepare-commit-message-sourcez]Source of the commit message (typically the second argument to .git/hooks/prepare-commit-msg)z--commit-object-namezRCommit object name (typically the third argument to .git/hooks/prepare-commit-msg)z--remote-namezRemote name used by `git push`.z--remote-urlzRemote url used by `git push`.z--checkout-typez�Indicates whether the checkout was a branch checkout (changing branches, flag=1) or a file checkout (retrieving a file from the index, flag=0).z--is-squash-mergezHDuring a post-merge hook, indicates whether the merge was a squash mergez--rewrite-commandzJDuring a post-rewrite hook, specifies the command that invoked the rewrite)r$   Úadd_mutually_exclusive_groupr   ÚSTAGESÚtransform_stage)r(   Úmutex_groups     r)   Ú_add_run_optionsrG   @   ss  € Ø
×Ñ˜ cÐ0IÐÑJØ
×Ñ˜ T°,ÐÑ?Ø×5Ñ5¸uÐ5ÐE€KØ×ÑØ�t LØ0ð ñ ð ×ÑØ˜ bØ2ð ñ ð ×ÑØ ¨ØBð ñ ð ×ÑØ˜lØ1ð ñ ð ×ÑØÜ× Ñ Ü×&Ñ&ØØLð ñ ð ×ÑØÐ Gð ñ ð ×ÑØÐEð ñ ð ×ÑØ�j $ð&ð ñ 
ð ×ÑØ�J ðð ñ 	ð ×ÑØØ<ð ñ ð
 ×ÑØð+ð ñ ð ×ÑØØAð ñ ð ×ÑØ)ðOð ñ ð ×ÑØðNð ñ ð ×ÑØÐ?ð ñ ð ×Ñ˜Ð-MÐÑNØ
×ÑØð,ð ñ ð ×ÑØðð ñ ð ×ÑØðð ò r+   c                ó^  • [         R                  R                  U R                  5      (       a.  [         R                  R	                  U R                  5      U l        U R
                  S;   az  U R                   Vs/ s H"  n[         R                  R	                  U5      PM$     snU l        U R                  b.  [         R                  R	                  U R                  5      U l        U R
                  S:X  a\  [         R                  R                  U R                  5      (       a.  [         R                  R	                  U R                  5      U l        [        R                  " 5       n[         R                  " U5        [         R                  R                  U R                  5      U l        U R
                  S;   az  U R                   Vs/ s H"  n[         R                  R                  U5      PM$     snU l        U R                  b.  [         R                  R                  U R                  5      U l        U R
                  S:X  a^  [         R                  R                  U R                  5      (       a/  [         R                  R                  U R                  5      U l        g g g s  snf s  snf )N>   r   útry-reporI   )ÚosÚpathÚexistsÚconfigÚabspathÚcommandÚfilesÚcommit_msg_filenameÚrepor   Úget_rootÚchdirÚrelpath)ÚargsÚfilenameÚtoplevels      r)   Ú_adjust_args_and_chdirrY   ¯   s©  € ä	‡w�w‡~�~�d—k‘k×"Ñ"Ü—g‘g—o‘o d§k¡kÓ2ˆŒØ‡|�|Ð*Ó*Ø@DÇ
Â
ÓKÂ
°H”b—g‘g—o‘o hÖ/Á
ÑKˆŒ
Ø×#Ñ#Ñ/Ü')§w¡w§¡Ø×(Ñ(ó(ˆDÔ$ð ‡|�|�zÓ!¤b§g¡g§n¡n°T·Y±Y×&?Ñ&?Ü—G‘G—O‘O D§I¡IÓ.ˆŒ	ä�|Š|‹~€HÜ‡H‚HˆXÔä—'‘'—/‘/ $§+¡+Ó.€D„KØ‡|�|Ð*Ó*Ø@DÇ
Â
ÓKÂ
°H”b—g‘g—o‘o hÖ/Á
ÑKˆŒ
Ø×#Ñ#Ñ/Ü')§w¡w§¡Ø×(Ñ(ó(ˆDÔ$ð ‡|�|�zÓ!¤b§g¡g§n¡n°T·Y±Y×&?Ñ&?Ü—G‘G—O‘O D§I¡IÓ.ˆ�	ð '@Ð!ùò% Lùò Ls   Á;)J%Ç
)J*c                ó  ^• U b  U O[         R                  SS  n [        R                  " SS9nUR	                  SSSS[
        R                   3S9  UR                  S	S
9mShU4S jjnU" SSS9n[        U5        UR	                  SSSS9  UR	                  SSSS9  UR	                  SSSS/ SS9  UR	                  SS[        SSS9  U" S S!S9  U" S"S#S9  U" S$S%S9n[        R                  " U5        U" S&S'S9n[        U5        UR	                  S(S)S9  UR	                  S*S+S,S-S.9  [        U5        U" S/S0S9n[        U5        UR	                  S1S2SS3S9  UR	                  S4SS5S9  [        U5        UR	                  S6SS7S9  U" S8S9S9n[        U5        U" S:S;S9n[        U5        U" S<S=S9n	[        U	5        [        U	5        U" S>S?[
        R                   S@3S9  U" SASBS9n
[        U
5        U
R	                  SCSDS9  U
R	                  SESFSGS9  [        U
5        U" SHSIS9n[        U5        [        U5        U" SJSKS9nUR	                  SLSMSN9  U" SOSPS9nUR	                  SLSMSN9  TR                  SSQS9nUR	                  SRSSSTSU9  TR                  SV5      n[!        U5        [        U5        UR	                  SWSXSY9  UR	                  SZ5        UR	                  S[SS\9  UR	                  S][        R"                  S^9  [%        U 5      S_:X  a  S</n UR'                  U 5      nUR(                  S:X  a/  UR*                  (       a  UR'                  UR*                  S`/5        O"UR(                  S:X  a  UR'                  S`/5        [-        5          [/        UR0                  5         [2        R4                  " 5         [7        5       nUR(                  [8        ;  a&  [;        U5        UR=                  UR>                  5        UR(                  S:X  aV  [A        UR>                  URB                  (       + URD                  URF                  URH                  Sa9sS S S 5        sS S S 5        $ UR(                  S :X  a  [K        U5      sS S S 5        sS S S 5        $ UR(                  S":X  a  [M        U5      sS S S 5        sS S S 5        $ UR(                  S$:X  a(  [        RN                  " U5      sS S S 5        sS S S 5        $ UR(                  SV:X  a`  [Q        UUR>                  UR0                  URR                  URT                  URV                  URX                  SS  Sb9sS S S 5        sS S S 5        $ UR(                  S/:X  aR  [[        UR>                  UUR\                  UR^                  UR`                  URb                  Sc9sS S S 5        sS S S 5        $ UR(                  S&:X  aG  [e        UR>                  UURf                  UR\                  URb                  Sd9sS S S 5        sS S S 5        $ UR(                  S8:X  a(  [a        UR>                  U5      sS S S 5        sS S S 5        $ UR(                  S::X  a'  [i        UR>                  5      sS S S 5        sS S S 5        $ UR(                  S<:X  a)  [k        UR>                  UU5      sS S S 5        sS S S 5        $ UR(                  S>:X  a  [m        5       sS S S 5        sS S S 5        $ UR(                  SA:X  a  [o        U5      sS S S 5        sS S S 5        $ UR(                  SH:X  a0  [q        UR>                  UR\                  Se9sS S S 5        sS S S 5        $ UR(                  SJ:X  a'  [s        URt                  5      sS S S 5        sS S S 5        $ UR(                  SO:X  a'  [w        URt                  5      sS S S 5        sS S S 5        $ [y        SfUR(                   Sg35      e! , (       d  f       O= fS S S 5        g ! , (       d  f       g = f)iNé   r@   )Úprogz-Vz	--versionÚversionz	%(prog)s )r1   r]   rO   )r2   r#   c               ó<   >• TR                  XS9n[        U5        U$ )NrB   )Ú
add_parserr   )Únamer#   r(   Ú
subparserss      €r)   Ú_add_cmdÚmain.<locals>._add_cmd×   s#   ø€ Ø×&Ñ& tÐ&Ð7ˆÜ˜Ô Øˆr+   r	   z<Auto-update pre-commit config to the latest repos' versions.rB   z--bleeding-edger:   zbUpdate to the bleeding edge of `HEAD` instead of the latest tagged version (the default behavior).r>   z--freezez3Store "frozen" hashes in `rev` instead of tag namesz--repoÚreposr.   ÚREPOz?Only update this repository -- may be specified multiple times.)r2   r1   Úmetavarr"   r#   z-jz--jobsz1Number of threads to use.  (default %(default)s).)rA   r"   r#   r
   zClean out pre-commit files.r   zClean unused cached repos.r   z.Composable tools for rare use in hook `entry`.r   zWInstall hook script in a directory intended for use with `git config init.templateDir`.Ú	directoryz0The directory in which to write the hook script.z--no-allow-missing-configÚstore_falseÚallow_missing_configz6Assume cloned repos should have a `pre-commit` config.)r1   r2   r#   r   zInstall the pre-commit script.z-fz--overwritez1Overwrite existing hooks / remove migration mode.z--install-hookszMWhether to install hook environments for all environments in the config file.z--allow-missing-configzWWhether to allow a missing `pre-commit` configuration file or exit with a failure code.zinstall-hooksz‚Install hook environments for all environments in the config file.  You may find `pre-commit install --install-hooks` more useful.zmigrate-configz4Migrate list configuration to new map configuration.r   z
Run hooks.r   zProduce a sample z filerI   z?Try the hooks in a repository, useful for developing new hooks.rR   z Repository to source hooks from.z--refz--revzQManually select a rev to run against, otherwise the `HEAD` revision will be used.r   z Uninstall the pre-commit script.r   z&Validate .pre-commit-config.yaml filesÚ	filenamesr?   )r9   r    z%Validate .pre-commit-hooks.yaml filesz!Show help for a specific command.Úhelp_cmdr7   zCommand to show help for.r8   z	hook-implr-   Tr<   z
--hook-dirz--skip-on-missing-configr;   Úrest)r2   r9   r   z--help)Ú	tags_onlyÚfreezerd   Újobs)rM   ÚcolorÚ	hook_typeÚhook_dirÚskip_on_missing_configrV   )r/   Ú	overwriteÚhooksrs   )r/   rs   )Úconfig_filer/   zCommand z not implemented.)r`   Ústrr#   rw   Úreturnúargparse.ArgumentParser)>ÚsysÚargvÚargparseÚArgumentParserr$   r%   ÚVERSIONÚadd_subparsersr*   Úintr   Úadd_parsersr4   rG   r&   r_   r   Ú	REMAINDERÚlenÚ
parse_argsrO   rk   r   r   rp   r   Úcheck_for_cygwin_mismatchr   ÚCOMMANDS_NO_GITrY   Úmark_config_usedrM   r	   Úbleeding_edgern   rd   ro   r
   r   Úimplr   rq   rr   rs   rl   r   r/   rt   r   ri   r   rg   r   r   r   r   r   r   rj   r   ÚNotImplementedErrorÚAssertionError)r{   r(   rb   Úautoupdate_parserÚhazmat_parserÚinit_templatedir_parserÚinstall_parserÚinstall_hooks_parserÚmigrate_config_parserÚ
run_parserÚtry_repo_parserÚuninstall_parserÚvalidate_config_parserÚvalidate_manifest_parserr#   Úhook_impl_parserrV   Ústorera   s                     @r)   Úmainr™   Ê   sË  ø€ ØÑ#‰4¬¯©°!°"¨€DÜ×$Ò$¨,Ñ7€Fð ×ÑØˆkØØœAŸI™I˜;Ð'ð ñ ð ×&Ñ&¨IÐ&Ð6€J÷ñ
 !ØØKñÐô Ð(Ô)Ø×"Ñ"Ø ,ð5ð #ñ ð ×"Ñ"Ø˜<ØBð #ñ ð ×"Ñ"Ø�w x¸ÈØNð #ñ ð ×"Ñ"ØˆhœS¨!Ø@ð #ñ ñ
 ˆWÐ8Ò9áˆTÐ4Ò5áØÐGñ€Mô ×Ò�}Ô%á&Øð-ñÐô Ð.Ô/Ø×(Ñ(ØÐLð )ñ ð ×(Ñ(Ø#ØØ#ØEð	 )ñ ô Ð1Ô2á˜iÐ.NÑO€NÜ�~Ô&Ø×ÑØˆm LØ@ð  ñ ð ×ÑØ ,ð"ð  ñ ô ˜.Ô)Ø×ÑØ ¨ð+ð  ñ ñ $ØðñÐô Ð+Ô,á$ØØCñÐô Ð,Ô-á˜% lÑ3€JÜ�zÔ"Ü�ZÔ áˆ_Ð%6´q·}±}°oÀUÐ#KÒLáØØNñ€Oô �Ô'Ø× Ñ ØÐ7ð !ñ ð × Ñ Ø�ð%ð !ñ ô �_Ô%áØÐ<ñÐô Ð'Ô(ÜÐ*Ô+á%ØÐ HñÐð ×'Ñ'¨¸3Ð'Ñ?á'ØÐ"Iñ Ðð ×)Ñ)¨+¸SÐ)ÑAð × Ñ ØÐ8ð !ð €Dð 	×Ñ�j¨Ð2MÐÑNð "×,Ñ,¨[Ó9ÐÜÐ%Ô&ÜÐ'Ô(Ø×!Ñ! -¸$Ð!Ñ?Ø×!Ñ! ,Ô/Ø×!Ñ!Ø"¨<ð "ñ ð ×!Ñ! v´X×5GÑ5GÐ!ÑHô ˆ4ƒy�Aƒ~ØˆwˆØ×Ñ˜TÓ"€Dà‡|�|�vÓ $§-§-Ø×Ñ˜4Ÿ=™=¨(Ð3Õ4Ø	�‰˜Ó	Ø×Ñ˜8˜*Ô%ä	�œ/¨$¯*©*Õ5Ü×%Ò%Ô'ä“ˆà�<‰<œÓ.Ü" 4Ô(Ø×"Ñ" 4§;¡;Ô/à�<‰<˜<Ó'ÜØ—‘Ø"×0Ñ0Ô0Ø—{‘{Ø—j‘jØ—Y‘Yñ÷ 6Ð5�‰ð" �\‰\˜WÓ$Ü˜“<÷% 6Ð5�‰ð& �\‰\˜TÓ!Ü�e“9÷) 6Ð5�‰ð* �\‰\˜XÓ%Ü—;’;˜tÓ$÷- 6Ð5�‰ð. �\‰\˜[Ó(ÜØØ—{‘{Ø—j‘jØŸ.™.ØŸ™Ø'+×'BÑ'BØ—Y‘Y˜q˜r�]ñ÷1 6Ð5�‰ðB �\‰\˜YÓ&ÜØ—‘˜UØŸ?™?ØŸ.™.Ø×(Ñ(Ø'+×'@Ñ'@ñ÷E 6Ð5�‰ðR �\‰\Ð/Ó/Ü#Ø—‘˜U D§N¡NØŸ?™?Ø'+×'@Ñ'@ñ÷U 6Ð5�‰ð^ �\‰\˜_Ó,Ü  §¡¨eÓ4÷a 6Ð5�‰ðb �\‰\Ð-Ó-Ü! $§+¡+Ó.÷e 6Ð5�‰ðf �\‰\˜UÓ"Ü�t—{‘{ E¨4Ó0÷i 6Ð5�‰ðj �\‰\˜_Ó,Ü “?÷m 6Ð5�‰ðn �\‰\˜ZÓ'Ü˜D“>÷q 6Ð5�‰ðr �\‰\˜[Ó(ÜØ ŸK™KØŸ?™?ñ÷u 6Ð5�‰ð| �\‰\Ð.Ó.Ü" 4§>¡>Ó2÷ 6Ð5�‰ð@ �\‰\Ð0Ó0Ü$ T§^¡^Ó4÷C 6Ð5�‰ôF &Ø˜4Ÿ<™<˜.Ð(9Ð:óð ÷G 6Õ5ú��ŽúsÖ   Î
_=Î B-_#Ñ	_=Ñ _#Ñ:	_=Ò_#Ò'	_=Ò:%_#Ó	_=Ó2A_#Õ	_=Õ"A_#Ö1	_=×A_#Ø	_=Ø%_#Ù 	_=Ù$_#Ù7	_=Ú
&_#Ú0	_=Û_#Û	_=Û/_#Ü		_=Ü-_#Ý		_=Ý$_#Þ 	_=Þ$_#Þ7	_=ß
_#ß#
_1	ß-_=ß=
`Ú__main__)r(   ry   rx   ÚNone)rV   zargparse.Namespacerx   r›   )N)r{   zSequence[str] | Nonerx   r€   )>Ú
__future__r   r|   ÚloggingrJ   rz   Úcollections.abcr   Úpre_commit.constantsÚ	constantsr%   r   r   r   Úpre_commit.colorr   Úpre_commit.commandsr   Úpre_commit.commands.autoupdater	   Úpre_commit.commands.cleanr
   Úpre_commit.commands.gcr   Úpre_commit.commands.hook_implr   Ú$pre_commit.commands.init_templatedirr   Ú%pre_commit.commands.install_uninstallr   r   r   Ú"pre_commit.commands.migrate_configr   Úpre_commit.commands.runr   Ú!pre_commit.commands.sample_configr   Úpre_commit.commands.try_repor   Ú#pre_commit.commands.validate_configr   Ú%pre_commit.commands.validate_manifestr   Úpre_commit.error_handlerr   Úpre_commit.logging_handlerr   Úpre_commit.storer   Ú	getLoggerÚloggerÚenvironÚpopr†   r*   r4   rG   rY   r™   Ú__name__Ú
SystemExit© r+   r)   Ú<module>r¹      sÕ   ðÝ "ã Û Û 	Û 
Ý $å  Ý  Ý Ý -Ý &Ý 5Ý +Ý %Ý 3Ý AÝ 9Ý ?Ý ;Ý =Ý 'Ý ;Ý 1Ý ?Ý CÝ 2Ý 6Ý "ð 
×	Ò	˜<Ó	(€ð ‡
�
‡�Ð$ dÔ +ð ‡
�
‡�Ð! 4Ô (ò€ôôôlô^/ö6x
ðv ˆzÓÙ
‘T“VÓ
Ðð r+   