§
    °xªj³  ã                  óª   — d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
 ddlmZmZmZ ddlmZmZmZ e G d„ d¦  «        ¦   «         Z G d	„ d
¦  «        ZdS )uÈ  AutoPOE2 - Stash Evaluator & Routing Engine (Doc 63 / SSoT 2026).

Bá»™ Ä‘Ã¡nh giÃ¡ nghiá»‡p vá»¥ vÃ  phÃ¢n luá»“ng váº­t pháº©m:
- Quyáº¿t Ä‘á»‹nh hÃ nh Ä‘á»™ng Cáº¥t (DEPOSIT), Giá»¯ láº¡i (KEEP) hay Bá»� qua (IGNORE) cho tá»«ng mÃ³n Ä‘á»“.
- Ä�á»‹nh tuyáº¿n chÃ­nh xÃ¡c loáº¡i Tab Ä‘Ã­ch (Currency -> Tab Currency, Waystone -> Tab Waystone...).
- XÃ¡c Ä‘á»‹nh Ä‘iá»�u kiá»‡n rÃºt váº­t pháº©m bá»• sung (Restock Waystone) khi tÃºi Ä‘á»“ thiáº¿u thá»‘n.
é    )Úannotations)Ú	dataclass)ÚAnyÚDictÚListÚOptionalÚTuple)ÚItemCategoryÚItemInspectionReportÚ
ItemRarity)ÚStashActionÚStashConfigÚStashTabTypec                  óX   — e Zd ZU dZded<   ded<   ded<   ej        Zded	<   d
Zded<   dS )ÚItemRoutingDecisionu6   Quyáº¿t Ä‘á»‹nh Ä‘iá»�u phá»‘i cho má»™t váº­t pháº©m.r   Úactionr   Útarget_tab_typeÚstrÚreasonr
   Úitem_categoryÚ Ú	item_nameN)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r
   ÚOTHERr   r   © ó    ú@C:\Projects\AutoPOE2\src\assistant_tool\stash\stash_evaluator.pyr   r      s^   € € € € € € à@Ð@ØÐÐÑØ!Ð!Ð!Ñ!Ø€K€K�KØ".Ô"4€MÐ4Ð4Ð4Ñ4Ø€IÐÐÐÑÐÐr    r   c                  ó0   — e Zd ZdZddd„Z	 ddd„Zdd„ZdS )ÚStashEvaluatoru:   Bá»™ Ä‘Ã¡nh giÃ¡ vÃ  phÃ¢n luá»“ng cáº¥t/rÃºt Ä‘á»“ Stash.NÚconfigúOptional[StashConfig]c                ó0   — |pt          ¦   «         | _        d S ©N)r   r$   )Úselfr$   s     r!   Ú__init__zStashEvaluator.__init__'   s   € ØÐ-¥¡¤ˆŒˆˆr    r   Úitem_reportúOptional[ItemInspectionReport]Úcurrent_waystones_keptÚintÚreturnr   c                ó²  — |€Lt          | j        j        rt          j        nt          j        t          j        | j        j        rdnd¬¦  «        S |j        }|j	        p|j
        }d|v sd|v r(t          t          j        t          j        d||¬¦  «        S |t          j        k    sd	|v sd
|v rt|| j        j        k     r<t          t          j        t          j        d|dz   › d| j        j        › d�||¬¦  «        S t          t          j        t          j        d||¬¦  «        S |t          j        k    sd|v sd|v sd|v r\| j        j        r(t          t          j        t          j        d||¬¦  «        S t          t          j        t          j        d||¬¦  «        S d|v sd|v r\| j        j        r(t          t          j        t          j        d||¬¦  «        S t          t          j        t          j        d||¬¦  «        S t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        h}||v r\| j        j        r(t          t          j        t          j        d||¬¦  «        S t          t          j        t          j        d||¬¦  «        S |t          j        t          j         fv r(t          t          j        t          j!        d||¬¦  «        S t          | j        j        rt          j        nt          j        t          j        d||¬¦  «        S )uD  
        Ä�Ã¡nh giÃ¡ má»™t váº­t pháº©m trong tÃºi Ä‘á»“ Ä‘á»ƒ quyáº¿t Ä‘á»‹nh Cáº¤T hay GIá»®.
        
        Args:
            item_report: BÃ¡o cÃ¡o thuá»™c tÃ­nh váº­t pháº©m tá»« UniversalItemParser.
            current_waystones_kept: Sá»‘ lÆ°á»£ng Waystone Ä‘Ã£ Ä‘Æ°á»£c giá»¯ láº¡i trong tÃºi Ä‘á»£t nÃ y.
        Nz0Uninspected item - fallback deposit via affinityzUninspected - keep safe)r   r   r   zScroll of WisdomÚWisdomuI   Giá»¯ láº¡i Scroll of Wisdom Ä‘á»ƒ giÃ¡m Ä‘á»‹nh váº­t pháº©m dÃ£ chiáº¿n)r   r   r   r   r   ÚWaystoneÚTabletu   Giá»¯ láº¡i Waystone (é   ú/u   ) cho map tiáº¿p theou,   Cáº¥t Waystone dÆ° thá»«a vÃ o Tab WaystonesÚOrbÚRuneÚCoreu6   Cáº¥t tiá»�n tá»‡ vÃ  nguyÃªn liá»‡u vÃ o Tab Currencyu)   TÃ¹y chá»�n cáº¥t tiá»�n tá»‡ Ä‘ang táº¯tÚGemÚUncutu   Cáº¥t Uncut Gems vÃ o Tab Gemsu!   TÃ¹y chá»�n cáº¥t Gem Ä‘ang táº¯tu7   Cáº¥t trang bá»‹ vÃ o Tab Dump chá»� lá»�c hoáº·c tradeu(   TÃ¹y chá»�n cáº¥t trang bá»‹ Ä‘ang táº¯tu(   Cáº¥t Charms vÃ  BÃ¬nh dÆ°á»£c vÃ o hÃ²mu#   Váº­t pháº©m thÃ´ng thÆ°á»�ng khÃ¡c)"r   r$   Úuse_stash_affinityr   ÚDEPOSITÚKEEPr   ÚDUMPÚcategoryr   Ú	base_typeÚCURRENCYr
   ÚWAYSTONEÚkeep_waystones_countÚ	WAYSTONESÚdeposit_currencyÚdeposit_gemsÚGEMSÚWEAPONÚBODY_ARMOURÚHELMETÚBOOTSÚGLOVESÚSHIELDÚQUIVERÚRINGÚAMULETÚBELTÚJEWELÚdeposit_gearÚCHARMÚFLASKÚFLASKS)r(   r*   r,   ÚcatÚnameÚgear_categoriess         r!   Úevaluate_inventory_itemz&StashEvaluator.evaluate_inventory_item*   sÅ  € ð Ðå&Ø.2¬kÔ.LÐb•{Ô*Ð*ÕR]ÔRbÝ ,Ô 1ØMQÌ[ÔMkð  KÐIÐIð  rKðñ ô ð ð Ô"ˆØÔ$Ð=¨Ô(=ˆð  Ð%Ð%¨°TÐ)9Ð)9Ý&Ý"Ô'Ý ,Ô 5ØbØ!Øðñ ô ð ð •,Ô'Ò'Ð'¨:¸Ð+=Ð+=ÀÈTÐAQÐAQà%¨¬Ô(HÒHÐHÝ*Ý&Ô+Ý$0Ô$:ð IÐ4JÈQÑ4Nð  Ið  IÐQUÔQ\ÔQqð  Ið  Ið  IØ"%Ø"ðñ ô ð õ +Ý&Ô.Ý$0Ô$:ØJØ"%Ø"ðñ ô ð ð •,Ô'Ò'Ð'¨5°D¨=¨=¸FÀd¸N¸NÈfÐX\ÈnÈnØŒ{Ô+ð Ý*Ý&Ô.Ý$0Ô$9ØSØ"%Ø"ðñ ô ð õ 'Ý"Ô'Ý ,Ô 5ØBØ!Øðñ ô ð ð �Dˆ=ˆ=˜G t˜O˜OØŒ{Ô'ð Ý*Ý&Ô.Ý$0Ô$5Ø;Ø"%Ø"ðñ ô ð õ 'Ý"Ô'Ý ,Ô 1Ø:Ø!Øðñ ô ð õ ÔÝÔ$ÝÔÝÔÝÔÝÔÝÔÝÔÝÔÝÔÝÔð
ˆð �/Ð!Ð!ØŒ{Ô'ð Ý*Ý&Ô.Ý$0Ô$5ØTØ"%Ø"ðñ ô ð õ 'Ý"Ô'Ý ,Ô 1ØAØ!Øðñ ô ð ð •<Ô%¥|Ô'9Ð:Ð:Ð:Ý&Ý"Ô*Ý ,Ô 3ØAØ!Øðñ ô ð õ #Ø*.¬+Ô*HÐ^•;Ô&Ð&ÍkÔN^Ý(Ô-Ø8ØØð
ñ 
ô 
ð 	
r    Ú current_inventory_waystone_countÚboolc                ó"   — || j         j        k     S )uR   Kiá»ƒm tra xem cÃ³ cáº§n rÃºt Waystone tá»« Stash bá»• sung cho tÃºi Ä‘á»“ khÃ´ng.)r$   rB   )r(   rZ   s     r!   Úshould_withdraw_waystonez'StashEvaluator.should_withdraw_waystoneµ   s   € à/°$´+Ô2RÒRÐRr    r'   )r$   r%   )r   )r*   r+   r,   r-   r.   r   )rZ   r-   r.   r[   )r   r   r   r   r)   rY   r]   r   r    r!   r#   r#   $   sq   € € € € € ØDÐDð.ð .ð .ð .ð .ð '(ðI
ð I
ð I
ð I
ð I
ðVSð Sð Sð Sð Sð Sr    r#   N)r   Ú
__future__r   Údataclassesr   Útypingr   r   r   r   r	   Ú!src.assistant_tool.item_inspectorr
   r   r   Ú(src.assistant_tool.stash.stash_constantsr   r   r   r   r#   r   r    r!   ú<module>rc      s=  ððð ð #Ð "Ð "Ð "Ð "Ð "à !Ð !Ð !Ð !Ð !Ð !Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ñ ô ñ „ððSSð SSð SSð SSð SSñ SSô SSð SSð SSð SSr    