§
    øžyj‰Ä  ã                   ó\   — d Z ddlZddlZddlmZ d„ Zd„ Zd„ Zd„ Zd„ Z	d	e
d
efd„Zdd„ZdS )uR  ``hermes sessions`` command â€” extracted from ``hermes_cli/main.py``.

Mechanical move (main.py decomposition): ``cmd_sessions`` was a ``def`` nested
inside ``main()``'s body; its dispatch on ``args.sessions_action`` is lifted
byte-identical. A symtable/AST closure check found exactly two free variables:

* ``_confirm_prompt`` â€” a sibling nested def with zero captures of its own;
  moved here to module level, byte-identical.
* ``sessions_parser`` â€” a ``main()``-local (the argparse subparser, used only
  for ``sessions_parser.print_help()`` in the fallthrough branch). It is
  threaded as a keyword parameter via ``functools.partial`` at the
  ``set_defaults(func=...)`` wiring site in ``main()``.

Helpers that stay in ``hermes_cli.main`` (``get_hermes_home``,
``_relative_time``, ``_session_browse_picker``, ``_size_delta_label``) are
delegated through call-time wrappers below so existing test monkeypatches on
``hermes_cli.main.<name>`` keep reaching this code path, and so imports stay
one-way (main.py imports this module; the reverse happens only lazily at call
time â€” no import cycle).
é    N)ÚPathc                  ó   — ddl m}  | S )zFLazy ``hermes_cli.main`` reference (call-time, keeps patches working).r   ©Úmain)Ú
hermes_clir   r   s    ú=/home/ragecks/.hermes/hermes-agent/hermes_cli/sessions_cmd.pyÚ_mr	      s   € àÐÐÐÐÐà€Kó    c                  óB   — t          ¦   «                              ¦   «         S ©N)r	   Úget_hermes_home© r
   r   r   r   "   s   € Ý‰4Œ4×ÒÑ!Ô!Ð!r
   c                 óD   — t          ¦   «                              | ¦  «        S r   )r	   Ú_relative_time)Útss    r   r   r   &   s   € Ý‰4Œ4×Ò˜rÑ"Ô"Ð"r
   c                 óD   — t          ¦   «                              | ¦  «        S r   )r	   Ú_session_browse_picker)Úsessionss    r   r   r   *   s   € Ý‰4Œ4×&Ò& xÑ0Ô0Ð0r
   c                 óD   — t          ¦   «                              | ¦  «        S r   )r	   Ú_size_delta_label)Úsaved_mbs    r   r   r   .   s   € Ý‰4Œ4×!Ò! (Ñ+Ô+Ð+r
   ÚpromptÚreturnc                 óž   — 	 t          | ¦  «                             ¦   «                              ¦   «         dv S # t          t          f$ r Y dS w xY w)z?Prompt for y/N confirmation, safe against non-TTY environments.>   ÚyÚyesF)ÚinputÚstripÚlowerÚEOFErrorÚKeyboardInterrupt)r   s    r   Ú_confirm_promptr"   2   sX   € ðÝ�V‰}Œ}×"Ò"Ñ$Ô$×*Ò*Ñ,Ô,°Ð<Ð<øÝÕ'Ð(ð ð ð Øˆuˆuðøøøs   ‚47 ·AÁAc                 ó&S  ‡ ‡|‡}‡~‡‡€‡�‡‚‡ƒ‡„‡…‡†‡‡‡ˆ‡‰‡Š— dd l }‰ j        }|dk    �r�ddlm}m}m} |}|                     ¦   «         st          d|› d�¦  «         d S  ||¦  «        }|€t          d|› d�¦  «         d S t          d|› d	|› �¦  «         t          ‰ d
d¦  «        rd S t          d¦  «          ||t          ‰ dd¦  «         ¬¦  «        }	|	 	                    d¦  «        rÇ|	 	                    d¦  «        rt          d|	d         › �¦  «         t          d|	 	                    d¦  «        › �¦  «         	 ddlm
}
  |
¦   «         j                             d¦  «                             ¦   «         d         }t          d|› d�¦  «         �n# t          $ r t          d¦  «         Y nüw xY wt          d|	 	                    d¦  «        › �¦  «         |	 	                    d¦  «        rt          d|	d         › �¦  «         t          d¦  «         t          d¦  «         t          d¦  «         |	 	                    d¦  «        p|}t          d|› d �¦  «         t          d!¦  «         t          d"¦  «         t          d#¦  «         t          d|› d �¦  «         t          d$¦  «         d S |d%k    �r¥dd l}dd&lm}m}m}m} ‰ j        }t          ‰ d'd ¦  «        }t-          t          ‰ d(d¦  «        ¦  «        }t-          t          ‰ d)d¦  «        ¦  «        }t          ‰ d*d ¦  «        }|r|�t          d+¦  «         d,S |r|rt          d-¦  «         d,S |s|€t          d.¦  «         d,S |s|€|                     |j        d/z   ¦  «        }|�Et2          j                             |                     ¦   «         ¦  «        rt          d0|› �¦  «         d,S 	 |r ||t          ‰ d1d ¦  «        ¬2¦  «        }	n]d3d iŠ†ˆ†fd4„}t          d5¦  «          |||t          ‰ d1d ¦  «        t          ‰ d6d7¦  «        ||¬8¦  «        }	‰†d3         �t          ¦   «          nA# |t:          |j        f$ r,}t          d9|› �¦  «         t          d:¦  «         Y d }~d;S d }~ww xY w|�R	  |||	¦  «        }n1# t>          t:          f$ r}t          d<|› �¦  «         Y d }~d;S d }~ww xY wt          d=|› �¦  «         n%t          |                      |	d,d>¬?¦  «        ¦  «         |r|	 	                    d@¦  «        rdnd;S |	 	                    dA¦  «        r2t          dB|› �¦  «         t          dC¦  «         t          dD¦  «         dS |rÍ|	 	                    dE¦  «        r¸|	 	                    dFi ¦  «         	                    dGi ¦  «        }t          dH|› �¦  «         t          dItC          | 	                    dJ¦  «        pd¦  «        dK›dLtC          | 	                    dM¦  «        pd¦  «        dK›dN�¦  «         t          dC¦  «         t          dO¦  «         dS t          dP¦  «         t          dQ¦  «         d;S 	 ddlm
}
  |
¦   «         Šƒn*# t          $ r}t          dR|› �¦  «         Y d }~d S d }~ww xY wt          ‰ dSd ¦  «        }|rd ndTg}|dUk    �r4ddVlm"Š€ ‰ƒ #                    ‰ j        |‰ j$        ¬W¦  «        }t          ‰ dXd ¦  «        pd %                    ¦   «         }|r(| &                    ¦   «         Š~ˆ~ˆ€fdY„Š|ˆ|fdZ„|D ¦   «         }|st          d[¦  «         d S ˆ€fd\„} t-          |¦  «        ptO          ˆ€fd]„|D ¦   «         ¦  «        }!tO          d^„ |D ¦   «         ¦  «        }"|!�r+|"r-t          d_d`›dadbdc›daddde›dadf› �¦  «         t          dg¦  «         n0t          dhdi›dadbdc›daddde›dadjdk›dadf› �	¦  «         t          dl¦  «         |D ]Ç}#tQ          |# 	                    dm¦  «        ¦  «        }$ | |#¦  «        d dn…         }%|"rC|# 	                    do¦  «        pdpd dq…         }&t          |&d`›da|%dc›da|$de›da|#dr         › �¦  «         Œ||# 	                    dsd¦  «        d dt…         }'t          |'di›da|%dc›da|$de›da|#dS         dk›da|#dr         › �	¦  «         ŒÈd S |"r-t          d_du›dadhdv›daddde›dadf› �¦  «         t          dg¦  «         n,t          dhdw›daddde›dadjdk›dadf› �¦  «         t          dx¦  «         |D ]Ô}#tQ          |# 	                    dm¦  «        ¦  «        }$|"r|# 	                    dsd¦  «        d dy…         n|# 	                    dsd¦  «        d dz…         }'|"rE|# 	                    do¦  «        pdpd d{…         }&|#dr         }(t          |&du›da|'dv›da|$de›da|(› �¦  «         Œ©|#dr         }(t          |'dw›da|$de›da|#dS         dk›da|(› �¦  «         ŒÕ�nž|d|k    �r¢dd}l)m*})m+Š„ d~}*tO          ˆ fd„|*D ¦   «         ¦  «        }+d Š…|+r<	  |)‰ ¦  «        Š…n*# tX          $ r}t          d€|› �¦  «         Y d }~d S d }~ww xY wd ‰…d�<   ˆ fd‚„Šˆˆ ˆƒˆ„ˆ…fdƒ„},t          ‰ d„d ¦  «        �rC‰ j-        d…vrt          d†¦  «         d S dd‡l.m/}-m0}.  |,¦   «         }|€‰ƒ 1                    ¦   «          d S  |.|‰ j-        dˆk    rd‰ndŠ‰ j2        ¬‹¦  «        }/‰ j3        r‰ j3        dŒk    r5th          j5         6                    |/¦  «         ‰ƒ 1                    ¦   «          d S to          ‰ j3        d�dŽ¬�¦  «        5 }0|0 6                    |/¦  «         d d d ¦  «         n# 1 swxY w Y    |-|‰ j2        ¬�¦  «        \  }1}2|1d;k    rdnd‘}3t          d’|1› da|2› |3› d“‰ j3        › �¦  «         ‰ƒ 1                    ¦   «          d S ‰ j-        d”k    �r‰ j3        r‰ j3        dŒk    rt          d•¦  «         d S dd–l8m9}4m:}5  |,¦   «         }|€‰ƒ 1                    ¦   «          d S tw          |¦  «        d;k    r |4|d         ¦  «        }6n |5|¦  «        }6to          ‰ j3        d�dŽ¬�¦  «        5 }0|0 6                    |6¦  «         d d d ¦  «         n# 1 swxY w Y   tw          |¦  «        d;k    rdnd‘}3t          d’tw          |¦  «        › d—|3› d“‰ j3        › d˜�¦  «         ‰ƒ 1                    ¦   «          d S ‰ j-        d™k    �rt          ‰ d„d ¦  «        r%t          d†¦  «         ‰ƒ 1                    ¦   «          d S ‰ j<        Š‰‰‰s_‰…s]‰ƒ #                    d;d>¬š¦  «        }7|7r|7d          	                    dr¦  «        nd Š‰‰‰s%t          d›¦  «         ‰ƒ 1                    ¦   «          d S ‰‰r>‰ƒ =                    ‰‰¦  «        s)t          dœ‰‰› d��¦  «         ‰ƒ 1                    ¦   «          d S ddžl>m?}8m@Š‚mA}9 t          ‰ dŸd¦  «         Šˆt          ‰ d d¦  «        r€‰‰s%t          d¡¦  «         ‰ƒ 1                    ¦   «          d S ‰ƒ =                    ‰‰¦  «        }:‰ƒ 1                    ¦   «           |9|:d‰ˆt          ‰ d¢d¦  «         ¬£¦  «        };t          |;¦  «         d S ˆ ˆƒˆ„ˆ…ˆ‰fd¤„}< |<¦   «         }=|=€‰ƒ 1                    ¦   «          d S ˆ‚ˆƒˆˆfd¥„}>	 tw          |=¦  «        d;k    rÑ |>|=d         ¦  «        }?|?s/t          d¦|=d         › d§�¦  «         ‰ƒ 1                    ¦   «          d S ‰ j3        r‰ j3        dŒk    r!th          j5         6                    |?¦  «         �nto          ‰ j3        d�dŽ¬�¦  «        5 }0|0 6                    |?¦  «         d d d ¦  «         n# 1 swxY w Y   t          d¨‰ j3        › �¦  «         n¬‰ j3        r1‰ j3        dŒk    r&t…          ‰ j3        ¦  «                             ¦   «         nt‡          ¦   «         d©z  }@|@ D                    d>d>¬ª¦  «         d}A|=D ]2}( |>|(¦  «        }?|?sŒ|@|(› d«�z   E                    |?dŽ¬�¦  «         |Ad;z  }AŒ3t          d’|A› d¬|@› �¦  «         n# |8$ r t          d­¦  «         Y nw xY w‰ƒ 1                    ¦   «          d S ‰ j-        dŠk    �r#‰ j3        st          d®¦  «         d S ‰ j<        �r‰ƒ =                    ‰ j<        ¦  «        }B|Bst          dœ‰ j<        › d��¦  «         d S  ‰‰ƒ F                    |B¦  «        ¦  «        }C|Cst          dœ‰ j<        › d��¦  «         d S |                      |Cd¬¯¦  «        d°z   }D‰ j3        dŒk    r!th          j5         6                    |D¦  «         �nKto          ‰ j3        d�dŽ¬�¦  «        5 }0|0 6                    |D¦  «         d d d ¦  «         n# 1 swxY w Y   t          d±‰ j3        › �¦  «         �nî‰…rÛ ‰ƒjG        �d�i ‰…¤Ž}E‰ jH        r­t          d²tw          |E¦  «        › d³ ‰„‰…¦  «        › d´�¦  «         |Ed dµ…         D ]>}Ft          d¶|F 	                    dr¦  «        › d¶|F 	                    dSd¦  «        › �¦  «         Œ?tw          |E¦  «        dµk    r#t          d·tw          |E¦  «        dµz
  › d¸�¦  «         d S d¹„ ˆƒfdº„|ED ¦   «         D ¦   «         }n.‰ jH        rt          d»¦  «         d S ‰ƒ I                    d ¬¼¦  «        }‰ j3        dŒk    rF|D ]B}#th          j5         6                    |                       ‰|#¦  «        d¬¯¦  «        d°z   ¦  «         ŒCn’to          ‰ j3        d�dŽ¬�¦  «        5 }0|D ]8}#|0 6                    |                       ‰|#¦  «        d¬¯¦  «        d°z   ¦  «         Œ9	 d d d ¦  «         n# 1 swxY w Y   t          d’tw          |¦  «        › d½‰ j3        › �¦  «         d S dd¾lJmKŠ�mL}GmMŠŠ ‰ j3        dŒk    r%t          d¿¦  «         ‰ƒ 1                    ¦   «          d S ‰ j3        r&t…          ‰ j3        ¦  «                             ¦   «         nt‡          ¦   «         d©z  Š‡ddÀœdÁtœ          dÂt,          fˆˆ�ˆ ˆƒˆ‡ˆŠfdÃ„}H‰ jO        r,‰ jP        s%t          dÄ¦  «         ‰ƒ 1                    ¦   «          d S ‰ jO        r,‰ j<        s%t          dÅ¦  «         ‰ƒ 1                    ¦   «          d S t          ‰ dÆdÇ¦  «        dÈk    }I‰ j<        �r~‰ƒ =                    ‰ j<        ¦  «        }B|Bs.t          dœ‰ j<        › d��¦  «         ‰ƒ 1                    ¦   «          d S |Bg}J‰ jO        r‰ƒ Q                    |B¦  «        }Jg }K|JD ]Ÿ}L	  |H|L|L|Bk    o|I¬À¦  «        \  }C}Mn@# t>          $ r3}t          dÉ|› dÊ�¦  «         ‰ƒ 1                    ¦   «          Y d }~ d S d }~ww xY w|Cr|Ms*t          dœ|L› dË�¦  «         ‰ƒ 1                    ¦   «           d S |K R                    |C|Mf¦  «         Œ t§          dÌ„ |KD ¦   «         ¦  «        }N|Nd;k    rdnd‘}3tw          |K¦  «        d;k    r%t          dÍ|N› dÎ|3› dÏ|Kd         d;         › �¦  «         n(t          d’tw          |K¦  «        › dÐ|N› dÎ|3› dÏ‰‡› �¦  «         ‰ jO        rÑ|KD ]U\  }C}M |G|M|C¦  «        \  }O}|Os?t          dÑ|C 	                    dr¦  «        › dÒ|› �¦  «         ‰ƒ 1                    ¦   «           d S ŒVt‡          ¦   «         dJz  }P‰ƒ T                    |B|P|J¬Ó¦  «        r=tw          |J¦  «        d;z
  }Q|QsdndÔ|Q› dÕ|Qd;k    rdnd‘› �}Rt          dÖ|B› d×|R› dØ�¦  «         nt          dÙ|B› dÚ�¦  «         ‰ƒ 1                    ¦   «          d S ‰…s%t          dÛ¦  «         ‰ƒ 1                    ¦   «          d S  ‰ƒjG        �d�i ‰…¤Ž}E‰ jH        rÁt          d²tw          |E¦  «        › d³ ‰„‰…¦  «        › d´�¦  «         |Ed dµ…         D ]>}Ft          d¶|F 	                    dr¦  «        › d¶|F 	                    dSd¦  «        › �¦  «         Œ?tw          |E¦  «        dµk    r#t          d·tw          |E¦  «        dµz
  › d¸�¦  «         ‰ƒ 1                    ¦   «          d S d}A|ED ]M}F	  |H|Fdr         |I¬À¦  «        \  }C}Mn*# t>          $ r}t          dÜ|› dÊ�¦  «         Y d }~Œ<d }~ww xY w|Cr|Mr|Ad;z  }AŒNt          d’|A› dÝ‰‡› �¦  «         �nõ|dÞk    r¸‰ƒ =                    ‰ j<        ¦  «        }B|Bst          dœ‰ j<        › d��¦  «         d S ‰ jP        s$t«          dß|B› dà�¦  «        st          dá¦  «         d S t‡          ¦   «         dJz  }P‰ƒ T                    |B|P¬â¦  «        rt          dã|B› d§�¦  «         �nQt          dœ‰ j<        › d��¦  «         �n7|däv �r�ddål)m*})m+Š„mV}S tO          ˆ fdæ„dçD ¦   «         ¦  «        }T|dèk    r%‰ jW        €‰ jX        €‰ jY        €‰ jZ        €	|Tsdé‰ _W        	  |)‰ ¦  «        Š…n*# tX          $ r}t          d€|› �¦  «         Y d }~d S d }~ww xY w|dêk    r<tO          dë„ ‰… [                    ¦   «         D ¦   «         ¦  «        st          dì¦  «         d S |dèk    rt          ‰ díd¦  «        rd nd‰…d�<   nd‰…d�<    ‰ƒjG        �d�i ‰…¤Ž}E|dèk    rdîndï}U|Est          dð ‰„‰…¦  «        › d´�¦  «         d S |Ed          	                    dm¦  «        }V|Edñ          	                    dm¦  «        }Wdò |S|V¦  «        › dó |S|W¦  «        › �}X‰ jH        s‰ jP        �sh‰ jH        r|En	|Ed dô…         }Yt          tw          |E¦  «        › dõ ‰„‰…¦  «        › dö|X› d÷�¦  «         |YD ]­}#|# 	                    do¦  «        pdd dt…         }&|# 	                    dø¦  «        pdŒ \                    dù¦  «        dñ         d dú…         }Zt          d¶|#dr         › d¶ |S|# 	                    dm¦  «        ¦  «        dû›da|#dS         dü›da|Zdý›da|#dþ         dÿ›�d |&› �¦  «         Œ®tw          |E¦  «        tw          |Y¦  «        k    r1t          �dtw          |E¦  «        tw          |Y¦  «        z
  › d¸�¦  «         ‰ jH        rt          �d|dèk    r�dnd�› dØ�¦  «         d S ‰ jP        s8t«          |U› �dtw          |E¦  «        › d³|X› �d�¦  «        st          dá¦  «         d S |dèk    r9t‡          ¦   «         dJz  }P ‰ƒj]        �d��d|Pi‰…¤Ž}1t          �d|1› �d�¦  «         �nÈ ‰ƒj^        �d�i ‰…¤Ž}1t          �d	|1› �d
�¦  «         �n£|�dk    rÂ‰ƒ =                    ‰ j<        ¦  «        }B|Bst          dœ‰ j<        › d��¦  «         d S da _                    ‰ j`        ¦  «        }&	 ‰ƒ a                    |B|&¦  «        rt          dœ|B› �d|&› �¦  «         nt          dœ‰ j<        › d��¦  «         �n# tX          $ r}t          d€|› �¦  «         Y d }~�nâd }~ww xY w|�dk    �rd�dlbmc}[ d�dldme}\ tÍ          d;tC          t          ‰ �d�d¦  «        p�d¦  «        ¦  «        }]t-          t          ‰ �dd¦  «        ¦  «        }^�dtœ          �dt,          f�d„}_‰ƒ g                    |]�¬¦  «        }E|Est          �d¦  «         d S t          tw          |E¦  «        › �d|^rdn�d› �d�¦  «         d}`|ED �]%}F|Fdr         Š‰ |[|F�d         ¦  «        pd}a |\|a¦  «        }b|br|b|Fdo         k    rŒ9 |_|b¦  «        s!t          d¶‰‰› �d|Fdo         ›�d|b›�¦  «         Œet          d¶‰‰› �d|Fdo         ›�d|b›�¦  «         |`d;z  }`|^sŒ�	 ‰ƒ a                    ‰‰|b¦  «         Œ¥# tX          $ ru ‰ƒ h                    |b¦  «        }c	 ‰ƒ a                    ‰‰|c¦  «         t          �d |c›�d!�¦  «         n/# tX          $ r"}t          �d"|› �¦  «         |`d;z  }`Y d }~nd }~ww xY wY �Œ#w xY w|`st          �d#¦  «         �	nÌ|^rt          �d$|`› �d�¦  «         �	n³|�d%k    r¹t          ‰ �d�d&¦  «        p�d&}]t          ‰ dSd ¦  «        }|rd ndTg}d‰ƒ #                    ||d|]¬W¦  «        }‰ƒ 1                    ¦   «          |st          d[¦  «         d S tÓ          |¦  «        }e|est          dá¦  «         d S t          �d'|e› �¦  «         d�d(ljmk}f  |f�d)|eg¦  «         d S |�d*k    �rF‰ƒjl        }|                     ¦   «         r#t2          j         m                    |¦  «        �d+z  n�d,}gt          �d-¦  «         	 ‰ƒ n                    ¦   «         }n?# t          $ r2}t          �d.|› �¦  «         ‰ƒ 1                    ¦   «          Y d }~d S d }~ww xY w|                     ¦   «         r#t2          j         m                    |¦  «        �d+z  n�d,}h‰ƒ o                    ¦   «         }i|i�|i�d+z  }h|g|hz
  }jt          �d/|› �d0�¦  «         t          �d1|g�d2›�d3|h�d2›�d4tá          |j¦  «        › �d5�¦  «         �n¥|�d6k    rÖ‰ jH        rt          �d7¦  «         nt          �d8¦  «         ‰ƒ q                    ‰ jH        ‰ jr         �¬9¦  «        }	|	�d:         dk    rt          �d;¦  «         �n4‰ jH        r't          �d<|	�d:         › �d=|	�d>         › �¦  «         �n|	d         rt          d|	d         › �¦  «         t          �d?|	�d:         › �d@�¦  «         �nÈ|�dAk    �r¨‰ƒjl        }‰ƒ s                    ¦   «         s&t          �dB¦  «         ‰ƒ 1                    ¦   «          d S |                     ¦   «         rt2          j         m                    |¦  «        nd}k|k�d+z  }gt          ‰ �dCd¦  «         }l	 dd lt}m|m u                    |jv        ¦  «        jw        }nn# t          $ r d }nY nw xY w|lr|kntC          |k�dDz  ¦  «        }ot          �dE|› �¦  «         t          �dF|g�d2›�dG�¦  «         |n�ht          �dH|n�d+z  �dI›�dJ|o�d+z  �dI›�dK|lr�dLnd› �d5�¦  «         |n|ok     r4t          ¦   «          t          �dM¦  «         ‰ƒ 1                    ¦   «          d S |g�d&k    rt          �dN¦  «         t          ‰ �dOd¦  «        sr	 tñ          �dP¦  «         %                    ¦   «          &                    ¦   «         }pn# tò          $ r d}pY nw xY w|p�dQvr%t          dá¦  «         ‰ƒ 1                    ¦   «          d S �dRd iŠ}ˆ}f�dS„}qt          �dT¦  «         	 ‰ƒ z                    |q|l�¬U¦  «        }rnO# t          $ rB}t          �dV|› �¦  «         t          �dW¦  «         ‰ƒ 1                    ¦   «          Y d }~d S d }~ww xY w|r 	                    �dX¦  «        s?t          �dY|r 	                    �dZ�d[¦  «        › �¦  «         ‰ƒ 1                    ¦   «          d S |                     ¦   «         r#t2          j         m                    |¦  «        �d+z  n�d,}h‰ƒ o                    ¦   «         }i|i�|i�d+z  }h|g|hz
  }jt          �d\¦  «         t          �d]|g�d2›�d3|h�d2›�d4tá          |j¦  «        › �d5�¦  «         |r 	                    �d^¦  «        du rt          �d_¦  «         �n|�d`k    �r‰ƒ {                    t          ‰ �dad ¦  «        �¬b¦  «        }s�dc„ |sD ¦   «         }t|sD ]†}ut          |u�dd         › �de|udS         › �df|udþ         › �dg�¦  «         |u�dh         r3t          �di|u�dj         › �dk|u�dl         › �dm|u�dn         › �d5�¦  «         Œlt          �do|u�dZ         › �¦  «         Œ‡|sst          �dp¦  «         �n?|ts#t          d°tw          |s¦  «        › �dq�¦  «         �nt          ‰ �dd¦  «        s4t          d°tw          |t¦  «        › �drtw          |s¦  «        › �ds�¦  «         �nÔt          �dt¦  «         t«          �dutw          |t¦  «        › �dv�¦  «        r˜d}v|tD ]k}u‰ƒ |                    |u�dd         |u�dl         ¦  «        r*|vd;z  }vt          d|u�dd         › �dw|u�dj         › �¦  «         ŒPt          d|u�dd         › �dx�¦  «         Œlt          �dy|v› �drtw          |t¦  «        › �d�¦  «         �n
t          �dz¦  «         nù|�d{k    rÞ‰ƒ }                    ¦   «         }w‰ƒ ~                    ¦   «         }xt          �d||w› �¦  «         t          �d}|x› �¦  «         �d~D ]6}y‰ƒ }                    |y¬¼¦  «        }z|zdk    rt          d¶|y› �d|z› �d€�¦  «         Œ7‰ƒjl        }|                     ¦   «         r:t2          j         m                    |¦  «        �d+z  }{t          �d1|{�d2›�dG�¦  «         n|                     ¦   «          ‰ƒ 1                    ¦   «          d S (‚  Nr   Úrepair)ÚDEFAULT_DB_PATHÚ_db_opens_cleanlyÚrepair_state_db_schemazNo session database at z (nothing to repair).u   âœ“ u$    opens cleanly â€” no repair needed.u   âœ— z does not open cleanly: Ú
check_onlyFu*   Repairing (a backup copy is made first)â€¦Ú	no_backup)ÚbackupÚrepairedÚbackup_pathz
  backup: z  strategy: Ústrategy)Ú	SessionDBzSELECT COUNT(*) FROM sessionsu   âœ“ Repaired â€” z sessions recovered.u   âœ“ Repaired.u   âœ— Repair failed: Úerrorz  A backup is preserved at: z3  Keep state.db and the backup; do not delete them.Ú u=     Next step â€” offline recovery (never modifies the source):z%    hermes sessions recover --source z \z        --inspect-onlyz:  If that reports the data is recoverable, rebuild it intoz4  a NEW database (the active one is left untouched):z#        --output recovered-state.dbÚrecover)ÚSessionRecoveryErrorÚinspect_session_databaseÚrecover_session_databaseÚwrite_recovery_reportÚoutputÚinspect_onlyÚallow_partialÚreportz3Error: --output cannot be used with --inspect-only.é   z:Error: --allow-partial cannot be used with --inspect-only.z:Error: --output is required unless --inspect-only is used.z.recovery.jsonz.Error: refusing to overwrite existing report: Úwork_dir)r;   Útablec                 ó‚  •— |                       d¦  «        }t          |                       d¦  «        pd¦  «        }|                       d¦  «        }|‰d         k    r1‰d         �t          ¦   «          t          d|› d�dd¬	¦  «         |‰d<   |�d
t          |¦  «        d›�nd}t          d|› d|d›|› �dd¬	¦  «         d S )Nr<   Úcopied_rowsr   Úsource_rowsú  ú: r0   T©ÚendÚflushú/ú,z  )ÚgetÚintÚprint)Úinfor<   ÚcopiedÚtotalÚsuffixÚlast_progresss        €r   Ú_recovery_progressz(cmd_sessions.<locals>._recovery_progress¤   sã   ø€ Ø ŸHšH WÑ-Ô-�EÝ  §¢¨-Ñ!8Ô!8Ð!=¸AÑ>Ô>�FØ ŸHšH ]Ñ3Ô3�EØ ¨gÔ 6Ò6Ð6Ø(¨Ô1Ð=Ý!™GœG˜GÝ˜n 5˜n˜n˜n°"¸DÐAÑAÔAÐAØ16˜ gÑ.Ø38Ð3DÐ/¥ U¡¤Ð/Ð/Ð/Ð/È"�FÝÐ< Ð<Ð<¨&Ð<Ð<°FÐ<Ð<À"ÈDÐQÑQÔQÐQÐQÐQr
   u8   Recovering canonical session data into a new databaseâ€¦Ú
chunk_sizeiè  )r;   rP   Úprogress_cbr8   z Error: session recovery failed: z9The supplied source database was not replaced or deleted.é   z(Error: could not write recovery report: zRecovery report: T)ÚindentÚ	sort_keysÚrecoverableÚcompleteu$   âœ“ Recovered database verified at: z.  The active session database was not changed.z9  Review the JSON report before installing this database.ÚverifiedÚverificationÚtable_countsu)   âœ“ Partial recovery output verified at: z  Recovered r   rF   z sessions and Úmessagesz
 messages.zq  This output is incomplete. Review every skipped range and orphan count in the JSON report before installing it.u:   âœ— Recovery output did not pass every verification check.zG  Do not install it. Review the JSON report for partial data or errors.z(Error: Could not open session database: ÚsourceÚtoolÚlist)Úworkspace_key)r[   Úexclude_sourcesÚlimitÚ	workspacec                 óÔ   •—  ‰| ¦  «        pd                      ¦   «         }t          |¦  «        o9‰|v p5‰t          j                             |                     d¦  «        ¦  «        k    S )Nr0   ú/\)r   ÚboolÚosÚpathÚbasenameÚrstrip)ÚsÚkeyÚ_needleÚ_ws_keys     €€r   Ú_in_workspacez#cmd_sessions.<locals>._in_workspaceü   sa   ø€ Ø�w˜q‘z”zÐ' R×.Ò.Ñ0Ô0�Ý˜C‘y”yð Ø˜s�NÐT gµ´×1AÒ1AÀ#Ç*Â*ÈUÑBSÔBSÑ1TÔ1TÒ&Tðr
   c                 ó*   •— g | ]} ‰|¦  «        ¯|‘ŒS r   r   )Ú.0ri   rm   s     €r   ú
<listcomp>z cmd_sessions.<locals>.<listcomp>  s(   ø€ Ð@Ð@Ð@˜a¨}¨}¸QÑ/?Ô/?Ð@˜Ð@Ð@Ð@r
   zNo sessions found.c                 óŠ   •—  ‰| ¦  «        }|r4t           j                             |                     d¦  «        ¦  «        p|ndS )Nrc   õ   â€”)re   rf   rg   rh   )ri   rj   rl   s     €r   Ú	_ws_labelzcmd_sessions.<locals>._ws_label  s?   ø€ Ø�'˜!‘*”*ˆCØCFÐQ•B”G×$Ò$ S§Z¢Z°Ñ%6Ô%6Ñ7Ô7Ð>¸3øÈEÐQr
   c              3   ó.   •K  — | ]} ‰|¦  «        V — Œd S r   r   )ro   ri   rl   s     €r   ú	<genexpr>zcmd_sessions.<locals>.<genexpr>  s+   øè è € Ð(FÐ(F¸¨¨°©¬Ð(FÐ(FÐ(FÐ(FÐ(FÐ(Fr
   c              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS )ÚtitleN)rG   ©ro   ri   s     r   ru   zcmd_sessions.<locals>.<genexpr>  s,   è è € Ð:Ð:¨A˜Ÿš˜w™œÐ:Ð:Ð:Ð:Ð:Ð:r
   ÚTitlez<28ú Ú	Workspacez<18zLast Activez<13ÚIDuJ  â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ÚPreviewz<38ÚSrcz<6u,  â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€Úlast_activeé   rw   rr   é   ÚidÚpreviewé$   z<32z<40z<50u  â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€é&   é0   é   Úexport)Úbuild_prune_filtersÚdescribe_filters)Ú
older_thanÚ
newer_thanÚbeforeÚafterr[   rw   Ú
end_reasonÚcwdÚmin_messagesÚmax_messagesÚmodelÚproviderÚuserÚchat_idÚ	chat_typeÚbranchÚ
min_tokensÚ
max_tokensÚmin_costÚmax_costÚmin_tool_callsÚmax_tool_callsc              3   ó>   •K  — | ]}t          ‰|d ¦  «        d uV — Œd S r   ©Úgetattr©ro   ÚaÚargss     €r   ru   zcmd_sessions.<locals>.<genexpr>G  sE   øè è € ð 
ð 
Ø34�G�D˜!˜TÑ"Ô"¨$Ð.ð
ð 
ð 
ð 
ð 
ð 
r
   zError: Úarchivedc                 ó<   •— ‰j         r| €| S ddlm}  || ¦  «        S )Nr   )Úredact_session_data)ÚredactÚhermes_cli.session_export_mdr§   )Údatar§   r¤   s     €r   Ú_redactzcmd_sessions.<locals>._redactT  s9   ø€ Ø”;ð  $ ,Ø�ØHÐHÐHÐHÐHÐHà&Ð& tÑ,Ô,Ð,r
   c            
      óô  •— ‰j         r[‰                     ‰j         ¦  «        } | r ‰‰                     | ¦  «        ¦  «        nd}|st          d‰j         › d�¦  «         dS |gS ‰rÚ ‰j        di ‰¤Ž}‰j        r­t          dt          |¦  «        › d ‰‰¦  «        › d�¦  «         |dd…         D ]>}t          d|                     d	¦  «        › d|                     d
d¦  «        › �¦  «         Œ?t          |¦  «        dk    r#t          dt          |¦  «        dz
  › d�¦  «         dS d„ ˆˆfd„|D ¦   «         D ¦   «         S ‰j        rt          d¦  «         dS ˆfd„‰                     d¬¦  «        D ¦   «         S )z€Resolve --session-id / filters / bare export into a list
            of redacted session dicts, or None after printing an error.Nú	Session 'ú' not found.úWould export ú session(s) (ú).éd   r@   r‚   r[   r0   ú  ... ú morec                 ó   — g | ]}|¯|‘ŒS r   r   rx   s     r   rp   z;cmd_sessions.<locals>._collect_sessions.<locals>.<listcomp>q  s0   € ð ð ð àð ðØðð ð r
   c              3   ó`   •K  — | ](} ‰‰                      |d          ¦  «        ¦  «        V — Œ)dS ©r‚   N©Úexport_session)ro   Úrowr«   Údbs     €€r   ru   z:cmd_sessions.<locals>._collect_sessions.<locals>.<genexpr>s  sP   øè è € ð ð ØBE˜˜ × 1Ò 1°#°d´)Ñ <Ô <Ñ=Ô=ðð ð ð ð ð r
   ú'--dry-run requires at least one filter.c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS r   r   )ro   ri   r«   s     €r   rp   z;cmd_sessions.<locals>._collect_sessions.<locals>.<listcomp>{  s!   ø€ ÐCÐCÐC 1�G�G˜A‘J”JÐCÐCÐCr
   ©r[   r   )	Ú
session_idÚresolve_session_idr¹   rI   Úlist_prune_candidatesÚdry_runÚlenrG   Ú
export_all)	Úresolvedrª   Ú
candidatesrº   r«   r¤   r»   rŠ   Úfilterss	       €€€€€r   Ú_collect_sessionsz'cmd_sessions.<locals>._collect_sessions[  s  ø€ ð Œð Ø×0Ò0°´ÑAÔA�Ø?GÐQ�w�w˜r×0Ò0°Ñ:Ô:Ñ;Ô;Ð;ÈT�Øð  ÝÐC d¤oÐCÐCÐCÑDÔDÐDØ˜4Ø�v�Øð Ø5˜RÔ5Ð@Ð@¸Ð@Ð@�
Ø”<ð 	 Ýð:­¨J©¬ð :ð :Ø,Ð,¨WÑ5Ô5ð:ð :ð :ñô ð ð  *¨$¨3¨$Ô/ð Mð M˜ÝÐK 3§7¢7¨4¡=¤=ÐKÐK°C·G²G¸HÀbÑ4IÔ4IÐKÐKÑLÔLÐLÐLÝ˜:‘”¨Ò,Ð,ÝÐC¥s¨:¡¤¸Ñ'<ÐCÐCÐCÑDÔDÐDØ˜4ðð ðð ð ð ð ØISðñ ô ðñ ô ð ð Œ|ð ÝÐ?Ñ@Ô@Ð@Ø�tØCÐCÐCÐC¨¯ª¸T¨Ñ(BÔ(BÐCÑCÔCÐCr
   Úonly)ÚjsonlÚmdz2--only user-prompts supports --format jsonl or md.)Úexport_record_countÚrender_sessions_exportrË   ÚmarkdownrÊ   )ÚfmtrÉ   ú-Úwzutf-8)Úencoding)rÉ   ri   z	Exported z to Úhtmlz)HTML export requires an output file path.)Úgenerate_html_exportÚ"generate_multi_session_html_exportz sessionz (HTML)Útrace)r`   Úorder_by_last_activez.No session found to export. Pass --session-id.r­   r®   )ÚTraceRedactionErrorÚbuild_trace_jsonlÚupload_session_traceÚ	no_redactÚuploadzY--upload exports one session: pass --session-id (or drop filters to use the most recent).Úpublic)r�   r¨   Úprivatec            
      óÎ  •— ‰r‰                      ‰¦  «        gS  ‰j        di ‰¤Ž} ‰j        r­t          dt	          | ¦  «        › d ‰‰¦  «        › d�¦  «         | d d…         D ]>}t          d|                     d¦  «        › d|                     dd¦  «        › �¦  «         Œ?t	          | ¦  «        dk    r#t          d	t	          | ¦  «        dz
  › d
�¦  «         d S d„ | D ¦   «         S )Nr¯   r°   r±   r²   r@   r‚   r[   r0   r³   r´   c                 ó   — g | ]
}|d          ‘ŒS )r‚   r   )ro   rº   s     r   rp   z4cmd_sessions.<locals>._trace_ids.<locals>.<listcomp>õ  s   € Ð8Ð8Ð8 c˜˜Dœ	Ð8Ð8Ð8r
   r   )rÀ   rÁ   rÂ   rI   rÃ   rG   )rÆ   rº   r¤   r»   rŠ   rÇ   r¿   s     €€€€€r   Ú
_trace_idsz cmd_sessions.<locals>._trace_idsç  s/  ø€ Øð ?Ø×1Ò1°*Ñ=Ô=Ð>Ð>Ø5˜RÔ5Ð@Ð@¸Ð@Ð@�
Ø”<ð 	 Ýð:­¨J©¬ð :ð :Ø,Ð,¨WÑ5Ô5ð:ð :ð :ñô ð ð  *¨$¨3¨$Ô/ð Mð M˜ÝÐK 3§7¢7¨4¡=¤=ÐKÐK°C·G²G¸HÀbÑ4IÔ4IÐKÐKÑLÔLÐLÐLÝ˜:‘”¨Ò,Ð,ÝÐC¥s¨:¡¤¸Ñ'<ÐCÐCÐCÑDÔDÐDØ˜4Ø8Ð8¨ZÐ8Ñ8Ô8Ð8r
   c                 ó®   •— ‰                      | ¦  «        pi }‰                     | ¦  «        }|sd S  ‰|| |                     d¦  «        pdd‰¬¦  «        S )Nr“   r0   )r¿   r“   r�   r¨   )Úget_sessionÚget_messages_as_conversationrG   )ÚsidÚmetarZ   rÙ   r»   Úredact_traces      €€€r   Ú_render_tracez#cmd_sessions.<locals>._render_traceü  ss   ø€ Ø—~’~ cÑ*Ô*Ð0¨b�Ø×:Ò:¸3Ñ?Ô?�Øð  Ø˜4Ø(Ð(ØØ"ØŸ(š( 7Ñ+Ô+Ð1¨rØØ'ðñ ô ð r
   z%No transcript to export for session 'z'.zExported 1 session trace to zsession-exports)ÚparentsÚexist_okz.trace.jsonlz session trace(s) to z>Redaction failed; refusing to export unredacted trace content.z8JSONL export requires an output path (use - for stdout).)Úensure_asciiú
zExported 1 session to r¯   r°   r±   r²   r@   r³   r´   c                 ó   — g | ]}|¯|‘ŒS r   r   rx   s     r   rp   z cmd_sessions.<locals>.<listcomp>N  s0   € ð  ð  ð  àð ð Øð ð  ð  r
   c              3   óN   •K  — | ]}‰                      |d          ¦  «        V — Œ dS r·   r¸   )ro   rº   r»   s     €r   ru   zcmd_sessions.<locals>.<genexpr>P  sF   øè è € ð "ð "Ø=@˜B×-Ò-¨c°$¬iÑ8Ô8ð"ð "ð "ð "ð "ð "r
   r¼   r¾   z sessions to )Úappend_manifest_entryÚverify_export_fileÚwrite_session_markdownzSMarkdown/QMD export writes files; stdout (-) is only supported with --format jsonl.)Úinclude_lineager¿   rò   c                óÜ   •— |r‰                      | ¦  «        n‰                     | ¦  «        }|sdS  ‰|¦  «        } ‰	|‰‰j        ‰j        ¬¦  «        } ‰‰||‰j        ¬¦  «         ||fS )N)NN)rÏ   Úforce)rÏ   )Úexport_session_lineager¹   Úformatrô   )
r¿   rò   rª   rf   r«   rï   r¤   r»   Ú
output_dirrñ   s
       €€€€€€r   Ú_export_onez!cmd_sessions.<locals>._export_onev  s¡   ø€ ð #ð3�×)Ò)¨*Ñ5Ô5Ð5à×&Ò& zÑ2Ô2ð ð
 ð "Ø!�zØ�7˜4‘=”=ˆDØ)Ð)ØØØ”KØ”jð	ñ ô ˆDð "Ð! *¨d°D¸d¼kÐJÑJÔJÐJØ˜�:Ðr
   z'--delete-after-verified requires --yes.z<--delete-after-verified is only supported with --session-id.ÚlineageÚsingleÚlogicalzExport already exists: z. Pass --force to overwrite.z1' disappeared during export; nothing was deleted.c              3   ód   K  — | ]+\  }}t          |                     d ¦  «        pg ¦  «        V — Œ,dS )rZ   N)rÃ   rG   )ro   rª   Ú_paths      r   ru   zcmd_sessions.<locals>.<genexpr>¹  sS   è è € ð  ð  á�D˜%õ �D—H’H˜ZÑ(Ô(Ð.¨BÑ/Ô/ð ð  ð  ð  ð  ð  r
   zExported 1 session (z messagez) to z sessions (z2Export verification failed; not deleting session 'z': )Úsessions_dirÚexpected_delete_idsz and z delegate sessionzDeleted exported session 'ú'ú.zExported, but session 'z3' was not deleted because its delegate set changed.zzRefusing bulk export without a filter. Pass --session-id or at least one filter (e.g. --older-than 90, --source telegram).zSkipping existing export: z session(s) to ÚdeletezDelete session 'z' and all its messages? [y/N] z
Cancelled.)rþ   zDeleted session ')ÚpruneÚarchive)r‰   rŠ   Úformat_epochc              3   ó>   •K  — | ]}t          ‰|d ¦  «        d uV — Œd S r   r    r¢   s     €r   ru   zcmd_sessions.<locals>.<genexpr>*  sH   øè è € ð 	 
ð 	 
àõ �D˜!˜TÑ"Ô"¨$Ð.ð	 
ð 	 
ð 	 
ð 	 
ð 	 
ð 	 
r
   )r[   rw   r�   r�   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   r�   rž   r  Ú90r  c              3   ó,   K  — | ]\  }}|d k    ¯|V — ŒdS )Úolder_than_daysNr   )ro   ÚkÚvs      r   ru   zcmd_sessions.<locals>.<genexpr>D  s:   è è € ð +
ð +
Ù�!�Q¨QÐ2CÒ-CÐ-CˆAÐ-CÐ-CÐ-CÐ-Cð+
ð +
r
   zvRefusing to archive every ended session: pass at least one filter (e.g. --newer-than 5h, --source cli, --title codex).Úinclude_archivedÚDeleteÚArchivezNo sessions match (éÿÿÿÿzoldest activity z, newest activity é   z session(s) match (z; z):r“   rE   é   z<17z<10z<24Úmessage_countz>4z msgs  u
     â€¦ and u   Dry run â€” nothing Údeletedz these z	)? [y/N] rþ   zPruned z session(s).z	Archived zV session(s). They're hidden from listings but fully recoverable (nothing was deleted).Úrenamez' renamed to: zretitle-skills)Údescribe_skill_invocation)Úgenerate_titler`   éÈ   ÚapplyÚ	candidater   c                 óT   — t          | ¦  «        o| d                              ¦   «         S )u£  Reject a candidate that isn't a title at all.

            An auxiliary model occasionally answers the prompt instead of
            titling it and echoes the assistant's output ('$ df -h /'). The
            live path has no alternative and takes what it gets, but this is
            a REPAIR â€” replacing a serviceable title with command output
            would make things worse, so keep the old one.
            r   )rd   Úisalnum)r  s    r   Ú_is_titlelikez#cmd_sessions.<locals>._is_titlelike¡  s%   € õ ˜	‘?”?Ð= y°¤|×';Ò';Ñ'=Ô'=Ð=r
   )r`   z1No sessions were titled from a /skill invocation.z  session(s) opened with a /skillu$    (dry run â€” pass --apply to write)ú:Úcontentz

    kept u	    â€” got z
    u	   
    â†’ z    (renamed to u    â€” title was taken)z    skipped: z2  every title already reflects the user's request.u   âœ“ Re-titled Úbrowseiô  zResuming session: )Úrelaunchz--resumeÚoptimizei   g        u0   Optimizing session store (FTS merge + VACUUM)â€¦zError: optimization failed: z
Optimized z FTS index(es).zDatabase size: z.1fz MB -> z MB (ú)zclean-markersu@   Dry run â€” scanning for stale tool-call marker rows (#78148)â€¦u4   Scanning for stale tool-call marker rows (#78148)â€¦)rÂ   r*   Úrows_affectedu0   âœ“ No affected rows found â€” nothing to clean.zWould clear z row(s): ids Úrow_idsu   âœ“ Cleared z row(s).zoptimize-storageu@   Search index is already on the compact layout â€” nothing to do.Ú	no_vacuumg333333Ó?zSearch-index optimization for z  Current database size: z MBz  Free disk: z.0fz MB (need ~z MB to completez incl. VACUUMu˜   âš  Not enough free disk to complete safely. Free up space, or run with --no-vacuum (rebuilds the index but doesn't reclaim space until a later VACUUM).zƒ  This may take a while on a large database. It runs in the foreground with progress below; safe to Ctrl-C and re-run (it resumes).r   zProceed? [y/N] )r   r   Úphasec                 óz  •— |                       d¦  «        }|                       dd¦  «        }|dk    rHt          d|d›d|                       dd¦  «        d	›d
|                       dd¦  «        d	›d�dd¬¦  «         n;|‰d         k    r/ddddœ                      ||¦  «        }t          d|› d�d¬¦  «         |‰d<   d S )Nr&  Úpercentr   Úbackfillz  Rebuilding index: Ú3dz% (ÚindexedrF   rE   rL   r"  r0   TrB   zReclaiming old indexzCompacting database (VACUUM)ÚDone)ÚteardownÚvacuumÚdonez
  u   â€¦)rD   )rG   rI   )rJ   r&  ÚpctÚlabelÚ_lasts       €r   Ú	_progresszcmd_sessions.<locals>._progressV  s  ø€ Ø—H’H˜WÑ%Ô%ˆEØ—(’(˜9 aÑ(Ô(ˆCØ˜
Ò"Ð"Ýð M¨sÐ9ð Mð MØŸ(š( 9¨QÑ/Ô/ÐLðMð MØ48·H²H¸WÀQÑ4GÔ4GÐLðMð Mð Mà Dð*ñ *ô *ð *ð *ð ˜% œ.Ò(Ð(Ø%;Ø#AØ!'ð)ð )ç),ª¨U°EÑ):Ô):ð õ Ð'˜UÐ'Ð'Ð'¨tÐ4Ñ4Ô4Ð4Ø"ˆE�'‰NˆNˆNr
   u"   Optimizing search-index storageâ€¦)rQ   r.  z
Error: optimization failed: z#No data was lost. Re-run to resume.Úokz
Could not optimize: ÚreasonÚunknownu   
âœ“ Search index optimized.z  Database size: Úvacuumedua     (VACUUM was skipped or failed â€” run `hermes sessions optimize` later to reclaim freed space.)zrepair-routingÚmax_gap_seconds)Ú	max_gap_sc                 ó"   — g | ]}|d          ¯
|‘ŒS )Ú	adoptabler   )ro   Úrs     r   rp   z cmd_sessions.<locals>.<listcomp>�  s!   € Ð:Ð:Ð:˜1¨1¨[¬>Ð:�QÐ:Ð:Ð:r
   Ú	orphan_idz  (z, z
 messages)r;  u     â†’ adopt into Úsession_keyz (from Údonor_idz, evidence: Úevidenceu     âœ— not repairable â€” u;   âœ“ No gateway sessions are missing their routing identity.zI orphaned session(s) found, none unambiguously repairable. Nothing to do.z of zJ orphaned session(s) can be repaired. Re-run with --apply to perform them.uf   
Stop the gateway before applying â€” a running gateway still holds the old routing mapping in memory.zAdopt z orphaned session(s)? [y/N] z
 now owns z8 was not adopted (the row changed since it was reported)z

Repaired u    Aborted â€” nothing was changed.ÚstatszTotal sessions: zTotal messages: )ÚcliÚtelegramÚdiscordÚwhatsappÚslackrA   z	 sessionsr   )€ÚjsonÚsessions_actionÚhermes_stater%   r&   r'   ÚexistsrI   r¡   rG   r.   Ú_connÚexecuteÚfetchoneÚ	ExceptionÚsqlite3Úhermes_cli.session_recoveryr2   r3   r4   r5   r[   rd   Ú	with_nameÚnamere   rf   ÚlexistsÚ
expanduserÚOSErrorÚDatabaseErrorÚFileExistsErrorÚdumpsrH   r^   Úlist_sessions_richr`   r   r   Úanyr   Úhermes_cli.session_filtersr‰   rŠ   Ú
ValueErrorrö   Úhermes_cli.session_exportrÌ   rÍ   ÚcloserÉ   r6   ÚsysÚstdoutÚwriteÚopenÚhermes_cli.session_export_htmlrÔ   rÕ   rÃ   r¿   rÀ   Úagent.trace_uploadrØ   rÙ   rÚ   r   r   ÚmkdirÚ
write_textr¹   rÁ   rÂ   rÄ   r©   rï   rð   rñ   ÚstrÚdelete_after_verifiedr   Úget_session_delete_targetsÚappendÚsumÚdelete_sessionr"   r  r‹   rŒ   r�   rŽ   ÚitemsÚsplitÚprune_sessionsÚarchive_sessionsÚjoinrw   Úset_session_titleÚagent.skill_commandsr  Úagent.title_generatorr  ÚmaxÚlist_skill_scaffolded_sessionsÚget_next_title_in_lineager   Úhermes_cli.relaunchr   Údb_pathÚgetsizer.  Úlogical_size_bytesr   Úpurge_stale_tool_call_markersr)   Úfts_optimize_availableÚshutilÚ
disk_usageÚparentÚfreer   r    Úoptimize_fts_storageÚfind_orphaned_gateway_sessionsÚadopt_orphaned_gateway_sessionÚsession_countr  Ú
print_help)‹r¤   Úsessions_parserÚ_jsonÚactionr%   r&   r'   ry  r5  r9   r.   ÚnÚsource_hintÚ_sqlite3r2   r3   r4   r5   r[   r6   r7   r8   Úreport_pathrO   ÚexcÚwritten_reportÚcountsÚeÚ_sourceÚ_excluder   Ú
_ws_filterrs   Úhas_wsÚ
has_titlesri   r   Úwsrw   rƒ   rå   r‰   Ú_filter_arg_namesÚ_any_filtersrÈ   rÌ   rÍ   ÚrenderedÚfÚcountÚnounrM   rÔ   rÕ   r  ÚrowsrØ   rÚ   rÅ   Ústatusrá   Úidsrè   rÊ   Úout_dirÚexportedÚresolved_session_idrª   ÚlinerÆ   rº   rð   rø   Úlineage_is_logicalÚdelete_target_idsÚexported_itemsÚ	target_idÚexported_pathr  r4  rþ   Údelegate_countÚdelegate_suffixr  Ú_non_time_filtersÚverbÚ_oldestÚ_newestÚ_spanÚshownr“   r  r  r`   Úapply_changesr  ÚchangedÚtypedÚ	new_titleÚdedupedÚ_browse_excludeÚselected_idr   Ú	before_mbÚafter_mbÚlogical_afterÚsavedÚbefore_bytesÚ	do_vacuumÚ_shutilÚ
free_bytesÚ
need_bytesÚrespr3  ÚresultÚrecordsr;  Úrecordr+   rL   ÚmsgsÚsrcÚcÚsize_mbrm   r2  rk   r«   rl   rï   rÙ   r»   rŠ   rÇ   rN   r÷   rç   r¿   rñ   s‹   `                                                                                                                           @@@@@@@@@@@@@@@r   Úcmd_sessionsrÊ  :   sj9  øøøøøøøøøøøøøøøø€ ØÐÐÐàÔ!€Fð �ÒÑð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð "ˆØ�~Š~ÑÔð 	ÝÐJ¨GÐJÐJÐJÑKÔKÐKØˆFØ"Ð" 7Ñ+Ô+ˆØˆ>ÝÐF˜ÐFÐFÐFÑGÔGÐGØˆFÝÐ>�WÐ>Ð>°fÐ>Ð>Ñ?Ô?Ð?Ý�4˜ uÑ-Ô-ð 	ØˆFÝÐ:Ñ;Ô;Ð;Ø'Ð'Ø¥¨¨k¸5Ñ AÔ AÐAð
ñ 
ô 
ˆð �:Š:�jÑ!Ô!ð 	9Ø�zŠz˜-Ñ(Ô(ð <ÝÐ: 6¨-Ô#8Ð:Ð:Ñ;Ô;Ð;ÝÐ9 §¢¨JÑ!7Ô!7Ð9Ð9Ñ:Ô:Ð:ð'Ø2Ð2Ð2Ð2Ð2Ð2à�I‘K”KÔ%×-Ò-Ø3ñô ç’(‘*”*˜Qô �õ ÐA¨!ÐAÐAÐAÑBÔBÐBÑBøÝð 'ð 'ð 'Ý�oÑ&Ô&Ð&Ð&Ð&ð'øøøõ Ð=¨¯
ª
°7Ñ(;Ô(;Ð=Ð=Ñ>Ô>Ð>Ø�zŠz˜-Ñ(Ô(ð NÝÐL°V¸MÔ5JÐLÐLÑMÔMÐMÝÐGÑHÔHÐHõ
 �"‰IŒIˆIÝÐQÑRÔRÐRØ Ÿ*š* ]Ñ3Ô3Ð>°wˆKÝÐJ¸+ÐJÐJÐJÑKÔKÐKÝÐ*Ñ+Ô+Ð+ÝÐNÑOÔOÐOÝÐHÑIÔIÐIÝÐJ¸+ÐJÐJÐJÑKÔKÐKÝÐ7Ñ8Ô8Ð8Øˆà�ÒÑØ"Ð"Ð"Ð"ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð ”ˆÝ˜˜x¨Ñ.Ô.ˆÝ�G D¨.¸%Ñ@Ô@ÑAÔAˆÝ�W T¨?¸EÑBÔBÑCÔCˆÝ˜d H¨dÑ3Ô3ˆØð 	˜FÐ.ÝÐGÑHÔHÐHØ�1Øð 	˜Mð 	ÝÐNÑOÔOÐOØ�1Øð 	  ÝÐNÑOÔOÐOØ�1Øð 	K Ð 3Ø ×*Ò*¨6¬;Ð9IÑ+IÑJÔJˆKàÐ#Ý”—’ × 6Ò 6Ñ 8Ô 8Ñ9Ô9ð $õ ÐPÀ;ÐPÐPÑQÔQÐQØ�1ð#	Øð Ø1Ð1ØÝ$ T¨:°tÑ<Ô<ðñ ô ��ð
 ")¨$ �ð
Rð 
Rð 
Rð 
Rð 
Rõ ÐPÑQÔQÐQØ1Ð1ØØÝ$ T¨:°tÑ<Ô<Ý& t¨\¸4Ñ@Ô@Ø 2Ø"/ðñ ô �ð ! Ô)Ð5Ý‘G”G�GøøØ$¥g¨xÔ/EÐFð 	ð 	ð 	ÝÐ:°SÐ:Ð:Ñ;Ô;Ð;ÝÐMÑNÔNÐNØ�1�1�1�1�1øøøøð	øøøð
 Ð"ðØ!6Ð!6°{ÀFÑ!KÔ!K��øÝ#¥WÐ-ð ð ð ÝÐFÀÐFÐFÑGÔGÐGØ�q�q�q�q�qøøøøðøøøõ Ð6 nÐ6Ð6Ñ7Ô7Ð7Ð7å�%—+’+˜f¨Q¸$�+Ñ?Ô?Ñ@Ô@Ð@àð 	9ØŸ
š
 =Ñ1Ô1Ð8�1�1°qÐ8Ø�:Š:�jÑ!Ô!ð 	ÝÐA¸ÐAÐAÑBÔBÐBÝÐBÑCÔCÐCÝÐMÑNÔNÐNØ�1Øð 	˜VŸZšZ¨
Ñ3Ô3ð 	Ø—Z’Z °Ñ3Ô3×7Ò7¸ÈÑKÔKˆFÝÐF¸fÐFÐFÑGÔGÐGÝðBÝ�v—z’z *Ñ-Ô-Ð2°Ñ3Ô3ÐEðBð Bå�v—z’z *Ñ-Ô-Ð2°Ñ3Ô3ÐAðBð Bð Bñô ð õ
 ÐBÑCÔCÐCÝðLñô ð ð �1ÝÐJÑKÔKÐKÝÐWÑXÔXÐXØˆqðØ*Ð*Ð*Ð*Ð*Ð*àˆY‰[Œ[ˆˆøÝð ð ð ÝÐ<¸Ð<Ð<Ñ=Ô=Ð=Øˆˆˆˆˆøøøøðøøøõ
 �d˜H dÑ+Ô+€GØÐ,ˆtˆt V H€Hà�ÒÑØ9Ð9Ð9Ð9Ð9Ð9à×(Ò(Ø”;°ÀÄ
ð )ñ 
ô 
ˆõ ˜d K°Ñ6Ô6Ð<¸"×CÒCÑEÔEˆ
Øð 		AØ ×&Ò&Ñ(Ô(ˆGðð ð ð ð ð ð AÐ@Ð@Ð@ 8Ð@Ñ@Ô@ˆHàð 	ÝÐ&Ñ'Ô'Ð'ØˆFð
	Rð 	Rð 	Rð 	Rð 	Rõ �jÑ!Ô!ÐF¥SÐ(FÐ(FÐ(FÐ(F¸XÐ(FÑ(FÔ(FÑ%FÔ%FˆÝÐ:Ð:°Ð:Ñ:Ô:Ñ:Ô:ˆ
àñ 	Øð #Ý˜ÐSÐSÐS {ÐSÐSÐS¸ÐSÐSÐSÈTÐSÐSÑTÔTÐTÝ�kÑ"Ô"Ð"Ð"å˜Ð`Ð`Ð`¨Ð`Ð`Ð`¸=Ð`Ð`Ð`ÈuÐ`Ð`Ð`ÐZ^Ð`Ð`ÑaÔaÐaÝ�kÑ"Ô"Ð"Øð bð b�Ý,¨Q¯UªU°=Ñ-AÔ-AÑBÔB�Ø�Y˜q‘\”\ # 2 #Ô&�Øð bØŸUšU 7™^œ^Ð4¨u°c°r°cÔ:�EÝ˜UÐMÐMÐM¨ÐMÐMÐM°+ÐMÐMÐMÀAÀdÄGÐMÐMÑNÔNÐNÐNàŸeše I¨rÑ2Ô2°3°B°3Ô7�GÝ˜WÐ`Ð`Ð`¨2Ð`Ð`Ð`°KÐ`Ð`Ð`ÀaÈÄkÐ`Ð`Ð`ÐWXÐY]ÔW^Ð`Ð`ÑaÔaÐaÐaØˆFàð 	Ý�WÐMÐMÐM 9ÐMÐMÐM°=ÐMÐMÐMÀtÐMÐMÑNÔNÐNÝ�+ÑÔÐÐå�YÐJÐJÐJ ]ÐJÐJÐJ¸ÐJÐJÐJÀDÐJÐJÑKÔKÐKÝ�*ÑÔÐØð 	Qð 	QˆAÝ(¨¯ª¨}Ñ)=Ô)=Ñ>Ô>ˆKð ð/�—’�i Ñ$Ô$ S b SÔ)Ð)à—U’U˜9 bÑ)Ô)¨#¨2¨#Ô.ð ð
 ð QØŸš˜w™œÐ0¨5°#°2°#Ô6�Ø˜”g�Ý˜ÐJÐJÐJ WÐJÐJÐJ°;ÐJÐJÐJÀSÐJÐJÑKÔKÐKÐKà˜”g�Ý˜ÐOÐOÐO {ÐOÐOÐO¸¸8¼ÐOÐOÐOÈ#ÐOÐOÑPÔPÐPÐPñ	Qð 
�8Ò	Ñ	ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð

Ðõ ð 
ð 
ð 
ð 
Ø8Ið
ñ 
ô 
ñ 
ô 
ˆð ˆØð 	'ðØ-Ð-¨dÑ3Ô3��øÝð ð ð Ý�m �m�mÑ$Ô$Ð$Ø�����øøøøðøøøð #'ˆG�JÑð	-ð 	-ð 	-ð 	-ð 	-ð 	Dð  	Dð  	Dð  	Dð  	Dð  	Dð  	Dð  	Dð  	DõJ �4˜ Ñ&Ô&ñ 	ØŒ{ /Ð1Ð1ÝÐJÑKÔKÐKØ�ðð ð ð ð ð ð ð ð
 )Ð(Ñ*Ô*ˆHØÐØ—’‘
”
�
Ø�Ø-Ð-ØØ"&¤+°Ò"5Ð"5�J�J¸7Ø”Yðñ ô ˆHð
 ”;ð  $¤+°Ò"4Ð"4Ý”
× Ò  Ñ*Ô*Ð*Ø—’‘
”
�
Ø�Ý�d”k 3°Ð9Ñ9Ô9ð "¸QØ—’˜Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "à-Ð-¨h¸T¼YÐGÑGÔG‰KˆE�4Ø  Aš:˜:�R�R¨3ˆFÝÐE˜eÐEÐE dÐE¨FÐEÐE¸¼ÐEÐEÑFÔFÐFØ�HŠH‰JŒJˆJØˆFð Œ;˜&Ò Ñ Ø”;ð  $¤+°Ò"4Ð"4ÝÐAÑBÔBÐBØ�ðð ð ð ð ð ð ð ð
 )Ð(Ñ*Ô*ˆHØÐØ—’‘
”
�
Ø�Ý�8‰}Œ} Ò!Ð!Ø.Ð.¨x¸¬{Ñ;Ô;��à<Ð<¸XÑFÔF�Ý�d”k 3°Ð9Ñ9Ô9ð !¸QØ—’˜Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !å˜x™=œ=¨AÒ-Ð-�R�R°3ˆFÝÐU�c (™mœmÐUÐU°VÐUÐUÀÄÐUÐUÐUÑVÔVÐVØ�HŠH‰JŒJˆJØˆFð
 Œ;˜'Ò!Ñ!Ý�t˜V TÑ*Ô*ð ÝÐJÑKÔKÐKØ—’‘
”
�
Ø�ØœˆJØð  gð à×,Ò,°1È4Ð,ÑPÔP�Ø26Ð@˜T !œWŸ[š[¨Ñ.Ô.Ð.¸D�
Ø!ð ÝÐJÑKÔKÐKØ—H’H‘J”J�JØ�FØð  "×"7Ò"7¸
Ñ"CÔ"Cð ÝÐ: *Ð:Ð:Ð:Ñ;Ô;Ð;Ø—’‘
”
�
Ø�ðð ð ð ð ð ð ð ð ð õ  ' t¨[¸%Ñ@Ô@Ð@ˆLå�t˜X uÑ-Ô-ð Ø!ð ÝÐuÑvÔvÐvØ—H’H‘J”J�JØ�FØ×0Ò0°Ñ<Ô<�Ø—’‘
”
�
Ø-Ð-ØØØ'Ý '¨¨h¸Ñ >Ô >Ð>ð	ñ ô �õ �f‘”�Ø�ð9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð  �*‘,”,ˆCØˆ{Ø—’‘
”
�
Ø�ðð ð ð ð ð ð ðXÝ�s‘8”8˜q’=�=Ø)˜M¨#¨a¬&Ñ1Ô1�EØ ð ÝÐPÀcÈ!ÄfÐPÐPÐPÑQÔQÐQØŸš™
œ
˜
Ø˜Øœ;ð L¨$¬+¸Ò*<Ð*<Ýœ
×(Ò(¨Ñ/Ô/Ð/Ñ/å! $¤+¨s¸WÐEÑEÔEð +ÈØŸGšG E™NœN˜Nð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +åÐJ¸T¼[ÐJÐJÑKÔKÐKÐKð  œ;ðCØ+/¬;¸#Ò+=Ð+=õ ˜Tœ[Ñ)Ô)×4Ò4Ñ6Ô6Ð6å,Ñ.Ô.Ð1BÑBð ð
 —M’M¨$¸�MÑ>Ô>Ð>Ø �HØ"ð &ð &˜Ø - ¨cÑ 2Ô 2˜Ø$ð %Ø$Ø  cÐ#7Ð#7Ð#7Ñ7×CÒCØ!¨Gð Dñ ô ð ð ! A™˜˜ÝÐN hÐNÐNÀWÐNÐNÑOÔOÐOøøØ&ð Xð Xð XÝÐVÑWÔWÐWÐWÐWðXøøøà�HŠH‰JŒJˆJØˆFàŒ;˜'Ò!Ñ!Ø”;ð ÝÐPÑQÔQÐQØ�ØŒñ 6QØ&(×&;Ò&;¸D¼OÑ&LÔ&LÐ#Ø*ð ÝÐC d¤oÐCÐCÐCÑDÔDÐDØ�FØ�w˜r×0Ò0Ð1DÑEÔEÑFÔF�Øð ÝÐC d¤oÐCÐCÐCÑDÔDÐDØ�FØ—{’{ 4°e�{Ñ<Ô<¸tÑC�Ø”; #Ò%Ð%å”J×$Ò$ TÑ*Ô*Ð*Ñ*å˜dœk¨3¸ÐAÑAÔAð &ÀQØŸš ™œ˜ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &åÐ@°4´;Ð@Ð@ÑAÔAÐAÑAàð :Ø!9 Ô!9Ñ!DÐ!D¸GÐ!DÐ!D�JØ”|ð 	Ýð>­C°
©O¬Oð >ð >Ø 0Ð 0°Ñ 9Ô 9ð>ð >ð >ñô ð ð $.¨d¨s¨dÔ#3ð Qð Q˜CÝ!Ð"O s§w¢w¨t¡}¤}Ð"OÐ"O¸¿ºÀÈ"Ñ8MÔ8MÐ"OÐ"OÑPÔPÐPÐPÝ˜z™?œ?¨SÒ0Ð0Ý!Ð"G­3¨z©?¬?¸SÑ+@Ð"GÐ"GÐ"GÑHÔHÐHØ˜ð ð  ð"ð "ð "ð "ØDNð"ñ "ô "ð ñ  ô  �H�Hð ”|ð ÝÐGÑHÔHÐHØ˜Ø!Ÿ}š}°D˜}Ñ9Ô9�HØ”; #Ò%Ð%à%ð ð ˜Ýœ
×(Ò(Ø!ŸKšK¨¨°©
¬
À˜KÑGÔGÈ$ÑNñô ð ð ðõ
 ˜dœk¨3¸ÐAÑAÔAð ÀQØ!)ð ð ˜AØŸGšGØ %§¢¨G¨G°A©J¬JÀU Ñ KÔ KÈdÑ Rñô ð ð ððð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 ÐO¥c¨(¡m¤mÐOÐOÀ$Ä+ÐOÐOÑPÔPÐPØˆFð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð Œ;˜#ÒÐÝÐgÑhÔhÐhØ�HŠH‰JŒJˆJØˆFØ7;´{Ðm•T˜$œ+Ñ&Ô&×1Ò1Ñ3Ô3Ð3ÍÑHYÔHYÐ\mÑHmˆ
àDIð 	ð 	ð 	¥Cð 	½Tð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð$ Ô%ð 	¨d¬hð 	ÝÐ;Ñ<Ô<Ð<Ø�HŠH‰JŒJˆJØˆFØÔ%ð 	¨d¬oð 	ÝÐPÑQÔQÐQØ�HŠH‰JŒJˆJØˆFå$ T¨9°hÑ?Ô?À9ÒLÐàŒ?ñ V	Ø"$×"7Ò"7¸¼Ñ"HÔ"HÐØ&ð ÝÐ? $¤/Ð?Ð?Ð?Ñ@Ô@Ð@Ø—’‘
”
�
Ø�Ø!4Ð 5ÐØÔ)ð Ø$&×$AÒ$AØ'ñ%ô %Ð!ð  ˆNØ.ð =ð =�	ðØ*5¨+Ø!à%Ð)<Ò<ð 3Ø 2ð	+ñ +ô +Ñ'�D˜-˜-øõ 'ð ð ð Ýð5°!ð 5ð 5ð 5ñô ð ð —H’H‘J”J�JØ�F�F�F�F�F�Føøøøðøøøð ð  =ð Ýð/ Ið /ð /ð /ñô ð ð —H’H‘J”J�JØ�F�FØ×%Ò% t¨]Ð&;Ñ<Ô<Ð<Ð<åð  ð  à#1ð ñ  ô  ñ ô ˆMð )¨AÒ-Ð-�R�R°3ˆFÝ�>Ñ"Ô" aÒ'Ð'Ýð1¨=ð 1ð 1À&ð 1ð 1Ø(¨Ô+¨AÔ.ð1ð 1ñô ð ð õ
 ðI¥ NÑ 3Ô 3ð Ið IØ%ðIð IØ/5ðIð IØ<FðIð Iñô ð ð Ô)ð Ø+9ð ð Ñ'�D˜-Ø!3Ð!3°MÀ4Ñ!HÔ!H‘J�B˜Øð ÝðDØ(,¯ª°©¬ðDð DØ;AðDð Dñô ð ð Ÿš™
œ
˜
Ø˜˜ðõ  /Ñ0Ô0°:Ñ=�Ø×$Ò$Ø'Ø!-Ø(9ð %ñ ô ð õ
 &)Ð):Ñ%;Ô%;¸aÑ%?�Nð  .ð@˜˜ð@ ^ð @ð @Ø!/°1Ò!4Ð!4˜2˜2¸#ð@ð @ð $õ ð.Ð5Hð .ð .Ø*ð.ð .ð .ñô ð ð õ
 ðHÐ2Eð Hð Hð Hñô ð ð �HŠH‰JŒJˆJØˆFàð 	ÝðQñô ð ð �HŠH‰JŒJˆJØˆFØ-�RÔ-Ñ8Ð8°Ð8Ð8ˆ
ØŒ<ð 
	Ýð2¥ J¡¤ð 2ð 2Ø$Ð$ WÑ-Ô-ð2ð 2ð 2ñô ð ð " $ 3 $Ô'ð Eð E�ÝÐC˜3Ÿ7š7 4™=œ=ÐCÐC¨C¯GªG°H¸bÑ,AÔ,AÐCÐCÑDÔDÐDÐDÝ�:‰Œ Ò$Ð$ÝÐ;�s :™œ°Ñ4Ð;Ð;Ð;Ñ<Ô<Ð<Ø�HŠH‰JŒJˆJØˆFØˆØð 
	ð 
	ˆCðØ&1 kØ˜”IØ$6ð'ñ 'ô 'Ñ#��m�møõ #ð ð ð ÝÐR°1ÐRÐRÐRÑSÔSÐSØ����øøøøðøøøð ð ˜ð Ø˜A‘�øÝÐ?˜(Ð?Ð?°:Ð?Ð?Ñ@Ô@Ð@Ñ@à	�8Ò	Ð	Ø ×3Ò3°D´OÑDÔDÐØ"ð 	ÝÐ;˜dœoÐ;Ð;Ð;Ñ<Ô<Ð<ØˆFØŒxð 	Ý"ØVÐ#6ÐVÐVÐVñô ð õ �lÑ#Ô#Ð#Ø�Ý&Ñ(Ô(¨:Ñ5ˆØ×ÒÐ0¸|ÐÑLÔLð 	=ÝÐ=Ð&9Ð=Ð=Ð=Ñ>Ô>Ð>Ñ>åÐ;˜dœoÐ;Ð;Ð;Ñ<Ô<Ð<Ñ<à	Ð'Ð	'Ñ	'ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
õ  ð 	 
ð 	 
ð 	 
ð 	 
ðð	 
ñ 	 
ô 	 
ñ 	
ô 	
Ðð �gÒÐØ”Ð'Ø”Ð'Ø”Ð#Ø”
Ð"Ø%ð #ð #ˆDŒOð	Ø)Ð)¨$Ñ/Ô/ˆGˆGøÝð 	ð 	ð 	Ý�-˜A�-�-Ñ Ô Ð ØˆFˆFˆFˆFˆFøøøøð	øøøð �YÒÐ¥sð +
ð +
Ø!Ÿ-š-™/œ/ð+
ñ +
ô +
ñ (
ô (
Ðõ ðNñô ð ð ˆFð �WÒÐå Ð&8¸%Ñ@Ô@ÐK��Àeð �JÑÐð #(ˆG�JÑà-�RÔ-Ñ8Ð8°Ð8Ð8ˆ
Ø! WÒ,Ð,ˆxˆx°)ˆØð 	ÝÐEÐ(8Ð(8¸Ñ(AÔ(AÐEÐEÐEÑFÔFÐFØˆFð
 ˜Q”-×#Ò# MÑ2Ô2ˆØ˜R”.×$Ò$ ]Ñ3Ô3ˆð7˜|˜|¨GÑ4Ô4ð 7ð 7Ø+˜|¨GÑ4Ô4ð7ð 7ð 	ð
 Œ<ð 	˜tœxñ 	Ø"&¤,ÐC�J�J°J¸sÀ¸s´OˆEÝÝ�z‘?”?ð ;ð ;Ø$Ð$ WÑ-Ô-ð;ð ;Ø16ð;ð ;ð ;ñô ð ð ð ð �ØŸš˜w™œÐ-¨2¨s°¨sÔ3�ØŸš˜w™œÐ.¨3×5Ò5°cÑ:Ô:¸2Ô>¸sÀ¸sÔC�Ýð=˜˜4œð =ð = L L°·²°}Ñ1EÔ1EÑ$FÔ$FÐMð =ð =Ø˜”{Ð5ð=ð =Ø).Ð5ð=ð =à˜Ô)Ð<ð=ñ =à5:ð=ð =ñô ð ð õ
 �:‰Œ¥ U¡¤Ò+Ð+ÝÑF¥3 z¡?¤?µS¸±Z´ZÑ#?ÐFÐFÐFÑGÔGÐGØŒ|ð ÝÑ^¸&ÀGÒ:KÐ:K©Y¨YÐQ[Ð^Ð^Ð^Ñ_Ô_Ð_Ø�àŒxð 	Ý"ØÐNÑN¥ J¡¤ÐNÐN¸eÐNÑNÐNñô ð õ �lÑ#Ô#Ð#Ø�à�WÒÐÝ*Ñ,Ô,¨zÑ9ˆLØ%�BÔ%ÑKÑK°<ÐKÀ7ÐKÐKˆEÝÑ/˜EÐ/Ñ/Ð/Ñ0Ô0Ð0Ñ0à'�BÔ'Ñ2Ð2¨'Ð2Ð2ˆEÝñ?˜Eð ?ñ ?ð ?ñô ð ñ ð
 
‘8Ò	Ð	Ø ×3Ò3°D´OÑDÔDÐØ"ð 	ÝÐ;˜dœoÐ;Ð;Ð;Ñ<Ô<Ð<ØˆFØ—’˜œÑ$Ô$ˆð	!Ø×#Ò#Ð$7¸Ñ?Ô?ð AÝÐLÐ"5ÐLÑLÀUÐLÐLÑMÔMÐMÐMåÐ? $¤/Ð?Ð?Ð?Ñ@Ô@Ð@ùøÝð 	!ð 	!ð 	!Ý�-˜A�-�-Ñ Ô Ð Ð Ð Ð Ð Ñ øøøøð	!øøøð 
Ñ#Ò	#Ñ	#ØBÑBÐBÐBÐBÐBØ8Ñ8Ð8Ð8Ð8Ð8å�A•s�7 4©±#Ñ6Ô6Ð=¹#Ñ>Ô>Ñ?Ô?ˆÝ�W T©7°EÑ:Ô:Ñ;Ô;ˆñ		>¥Sñ 		>­Tð 		>ñ 		>ð 		>ð 		>ð ×6Ò6¸UÑ6ÑCÔCˆ
Øð 	ÝÑEÑFÔFÐFØˆFåÝ�:‰Œð Rñ RØ"ÐNˆrˆrÑ(NðRñ Rð Rñ	
ô 	
ð 	
ð ˆØð 	!ñ 	!ˆCØ˜TœˆJØ-Ð-¨c±)¬nÑ=Ô=ÐCÀˆEØ&˜ uÑ-Ô-ˆIØð  	¨S°¬\Ò 9Ð 9ØØ �= Ñ+Ô+ð ÝÐX˜:ÐXÑX°#°g´,ÐXÑXÈ9ÐXÐXÑYÔYÐYØÝÐP�zÐPÑP¨¨W¬ÐPÑPÀ9ÐPÐPÑQÔQÐQØ�q‰LˆGØ ð Øð!Ø×$Ò$ Z°Ñ;Ô;Ð;Ð;øÝð 
!ð 
!ð 
!ð ×6Ò6°yÑAÔA�ð!Ø×(Ò(¨°WÑ=Ô=Ð=ÝÑM¨WÐMÑMÐMÑNÔNÐNÐNøÝ!ð !ð !ð !ÝÑ-¨!Ð-Ð-Ñ.Ô.Ð.Ø˜q‘L�G�G�G�G�G�Gøøøøð!øøøøùð
!øøøð ð 	:ÝÑFÑGÔGÐGÑGØð 	:ÝÑ8 7Ð8Ñ8Ð8Ñ9Ô9Ð9ùà	‘8Ò	Ð	Ý˜™g¡sÑ+Ô+Ð2©sˆÝ˜˜x¨Ñ.Ô.ˆØ"(Ð6˜$˜$¨v¨hˆØ×(Ò(Ø¨?À%ð )ñ 
ô 
ˆð 	�Š‰
Œ
ˆ
Øð 	ÝÐ&Ñ'Ô'Ð'ØˆFå,¨XÑ6Ô6ˆØð 	Ý�,ÑÔÐØˆFõ 	Ñ0 ;Ð0Ð0Ñ1Ô1Ð1Ø0Ñ0Ð0Ð0Ð0Ð0àˆ‘*˜kÐ*Ñ+Ô+Ð+Øˆà	‘:Ò	Ñ	Ø”*ˆð �~Š~ÑÔð�BŒG�OŠO˜GÑ$Ô$©Ñ4Ð4áð 	õ
 	Ñ@ÑAÔAÐAð	ð —	’	‘”ˆAˆAøÝð 	ð 	ð 	ÝÑ4°Ð4Ð4Ñ5Ô5Ð5Ø�HŠH‰JŒJˆJØˆFˆFˆFˆFˆFøøøøð	øøøð �~Š~ÑÔð�BŒG�OŠO˜GÑ$Ô$©Ñ4Ð4áð 	ð ×-Ò-Ñ/Ô/ˆØÐ$Ø$©Ñ4ˆHØ˜HÑ$ˆÝÑ-˜1Ð-Ñ-Ð-Ñ.Ô.Ð.Ýñ,˜iÑFð ,ñ ,°HÑFð ,ñ ,Ý! %Ñ(Ô(ð,ñ ,ð ,ñ	
ô 	
ð 	
ñ 	
ð
 
‘?Ò	"Ð	"ØŒ<ð 	JÝÑTÑUÔUÐUÐUåÑHÑIÔIÐIØ×1Ò1Ø”L¨T¬^Ð);ñ 2ñ 
ô 
ˆð ‘/Ô" aÒ'Ð'ÝÑDÑEÔEÐEÑEØŒ\ð 	DÝñ+˜v¡oÔ6ð +ñ +Ø™iÔ(ð+ð +ñô ð ñ ð
 �mÔ$ð <ÝÐ: 6¨-Ô#8Ð:Ð:Ñ;Ô;Ð;ÝÑB ©Ô!8ÐBÑBÐBÑCÔCÐCÑCà	Ñ%Ò	%Ñ	%Ø”*ˆØ×(Ò(Ñ*Ô*ð 	ÝÑTÑUÔUÐUØ�HŠH‰JŒJˆJØˆFà3:·>²>Ñ3CÔ3CÐJ•r”w—’ wÑ/Ô/Ð/ÈˆØ ¡KÑ0ˆ	õ
   ¡k°5Ñ9Ô9Ð9ˆ	ð	Ø$Ð$Ð$Ð$Ø ×+Ò+¨G¬NÑ;Ô;Ô@ˆJˆJøÝð 	ð 	ð 	ØˆJˆJˆJð	øøøà%.ÐK�\�\µC¸ÁsÑ8JÑ4KÔ4Kˆ
ÝÑ8¨wÐ8Ð8Ñ9Ô9Ð9ÝÑ<¨)Ñ<Ð<Ñ<Ð<Ñ=Ô=Ð=ØÐ!Ýñ = *±	Ñ":ÑDð =ñ =Ø&©)Ñ4ÑIð=ñ =à(1Ð9‘_�_°rð=ñ =ð =ñ >ô >ð >ð ˜JÒ&Ð&Ý‘”�Ýñ Iñ Jô Jð Jð —’‘
”
�
Ø�Ø‘sŠ?ˆ?Ýñ )ñ *ô *ð *õ �t™U EÑ*Ô*ð 	ðÝÑ.Ñ/Ô/×5Ò5Ñ7Ô7×=Ò=Ñ?Ô?��øÝð ð ð Ø���ðøøøà™<Ð'Ð'Ý�lÑ#Ô#Ð#Ø—’‘
”
�
Ø�á˜$�ˆð	#ð 	#ñ 	#ð 	#ð 	#õ 	Ñ2Ñ3Ô3Ð3ð	Ø×,Ò,Ø%¨iñ -ñ ô ˆFˆFøõ ð 	ð 	ð 	ÝÑ6°1Ð6Ð6Ñ7Ô7Ð7ÝÑ7Ñ8Ô8Ð8Ø�HŠH‰JŒJˆJØˆFˆFˆFˆFˆFøøøøð		øøøð
 �zŠz™$ÑÔð 	ÝÑL¨6¯:ª:±hÁ	Ñ+JÔ+JÐLÐLÑMÔMÐMØ�HŠH‰JŒJˆJØˆFà8?¿ºÑ8HÔ8HÐQ�BŒG�OŠO˜GÑ$Ô$©Ñ4Ð4Écð 	ð ×-Ò-Ñ/Ô/ˆØÐ$Ø$©Ñ4ˆHØ˜HÑ$ˆÝÑ.Ñ/Ô/Ð/Ýñ, 	ÑHð ,ñ ,°hÑHð ,ñ ,Ý! %Ñ(Ô(ð,ñ ,ð ,ñ	
ô 	
ð 	
ð �:Š:‘jÑ!Ô! UÐ*Ð*Ýñ Nñ Oô Oð Oùð 
Ñ#Ò	#Ñ	#Ø×3Ò3Ý˜dÑ$5°tÑ<Ô<ñ 4ñ 
ô 
ˆñ ;Ð: Ð:Ñ:Ô:ˆ	Øð 	Fð 	FˆFÝ�V™KÔ(ð 9ñ 9¨V°HÔ-=ð 9ñ 9Ø˜OÔ,ð9ñ 9ð 9ñ :ô :ð :à‘kÔ"ð FÝñ 9¨&±Ô*?ð 9ñ 9Ø%¡jÔ1ð9ñ 9à#)©*Ô#5ð9ñ 9ð 9ñ :ô :ð :ð :õ ÑD°&¹Ô2BÐDÐDÑEÔEÐEÐEàð 	:ÝÑOÑPÔPÐPÑPØð 	:Ýð =•s˜7‘|”|ð =ñ =ð =ñ >ô >ð >ñ >å˜™w¨Ñ.Ô.ð 	:Ýð J•s˜9‘~”~ð Jñ J­3¨w©<¬<ð Jñ Jð Jñ Kô Kð Kñ Kõ
 ñ Cñ Dô Dð DåÙE�˜Y™œÐEÑEÐEñô ð :ð �Ø'ð 	Ið 	I�FØ×8Ò8Ø™{Ô+¨V±JÔ-?ñô ð Ið ! A™˜Ýð 9 V©KÔ%8ð 9ñ 9Ø!'©Ô!6ð9ð 9ñ :ô :ð :ð :õ ð H V©KÔ%8ð Hñ Hð Hñ Iô Ið Ið IåÑN HÐNÑNµ#°i±.´.ÐNÑNÐNÑOÔOÐOÑOåÑ8Ñ9Ô9Ð9Ð9à	‘7Ò	Ð	Ø× Ò Ñ"Ô"ˆØ×ÒÑ!Ô!ˆÝÑ( Ð(Ð(Ñ)Ô)Ð)ÝÑ' Ð'Ð'Ñ(Ô(Ð(ÙFð 	0ð 	0ˆCØ× Ò ¨Ð Ñ,Ô,ˆAØ�1ŠuˆuÝÐ.˜3Ð.Ñ. !Ð.Ñ.Ð.Ñ/Ô/Ð/øØ”*ˆØ�>Š>ÑÔð 	6Ý”g—o’o gÑ.Ô.±+Ñ>ˆGÝÑ4 GÑ4Ð4Ñ4Ð4Ñ5Ô5Ð5øð 	×"Ò"Ñ$Ô$Ð$à‡H‚H�J„J€J€J€JsQ  Ä6AF ÆF'Æ&F'ÏA<Q ÑRÑ!Q>Ñ>RÒ	R ÒSÒ'R?Ò?SÙY" Ù"
Z	Ù,ZÚZ	èh è
iè&h>è>iì-mímímñq0ñ0q4ñ7q4úAA@. û2A
A@. ü<}ýA@. ý}"ý"A@. ý%}"ý&CA@. Á@.AAÁAAAÁEAE9ÁE9AE=ÁF AE=ÁL<AMÁMAMÁM AMÁTAT+ÁT+
AU(ÁT5'AU#ÁU#AU(Á`&A`=Á`=
Aa$ÁaAaÁaAa$ÁfAf( Áf(
AgÁf2Ag
Ág
AgÁt2AAu9 Áu9
Av ÁvAvÁvAv Á|A|Á|A~Á|;+A}'Á}&A~Á}'
A~Á}1A~Á~	A~Á~A~Á~A~Á~A~ÂC$BC9 ÂC9
BD5ÂD'BD0ÂD0BD5ÂM#BM1 ÂM1BN ÂM?BN ÂQ4BR ÂRBRÂRBRÂS%BS> ÂS>
BU
ÂT7BUÂUBU
r   )Ú__doc__re   r_  Úpathlibr   r	   r   r   r   r   rg  rd   r"   rÊ  r   r
   r   ú<module>rÍ     sÆ   ððð ð* 
€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ð Ð ðð ð ð"ð "ð "ð#ð #ð #ð1ð 1ð 1ð,ð ,ð ,ð˜Cð  Dð ð ð ð ðNð Nð Nð Nð Nð Nr
   