§
    Ù®½jp  ã                   óî   — d Z ddlZddlmc mZ ddlZddlm	Z	m
Z
mZmZmZ ej        de	fd„¦   «         Zde	ddfd„Zde	ddfd„Zde	ddfd	„Zde	ddfd
„Zde	ddfd„Zde	ddfd„Zde	ddfd„Zde	ddfd„ZdS )uÝ  
Unit test suite for FreeExile Player Hideout (TiÃªn Phá»§ Ä�á»™ng ThiÃªn) & Waygate System.
Validates:
1. Hideout instantiation, themes, and private state persistence.
2. Astral Map Device 6-portal lifecycle (PoE2 model: open 6 portals, consume 1 by 1, auto-seal at 0).
3. World Exploration Waygate routing to 10 Canonical Open World Zones.
4. Quest & Bounty Portal synchronization with QuestEngine.
5. Domestic facility interactions (Stash, Alchemy, Meridian Mat, AI Altar).
é    N)ÚHideoutEngineÚHideoutThemeÚ	AstralMapÚFacilityTypeÚCANONICAL_ZONESÚreturnc                  ó   — t          ¦   «         S )N)r   © ó    ú7C:\Projects\FreeExile\tests\unit\test_hideout_engine.pyÚenginer      s   € å‰?Œ?Ðr   r   c                 óL  — d}|                       |t          j        ¬¦  «        }|j        }||k    }|sÕt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nddœz  }dd	|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}}|j        }t          j        }||k    }|sòt	          j        d|fd
||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}|j        }|j        }d}	||	k    }|s½t	          j        d|fd||	f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |	¦  «        dœz  }
dd|
iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}}	|j        }|j        }d}	||	u }|s½t	          j        d|fd||	f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |	¦  «        dœz  }
dd|
iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}}	|j        }|j        }d}	||	u }|s½t	          j        d|fd||	f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |	¦  «        dœz  }
dd|
iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}x}}	|                       |¦  «        }|j        }|j        }||k    }|sèt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}|                      |t          j        ¦  «        \  }}d}||u }|s—t	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}}|j        }t          j        }||k    }|sòt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        ndt	          j	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚d x}x}}d S ) NÚhero_swordsman_01)Útheme©ú==)z7%(py2)s
{%(py2)s = %(py0)s.owner_player_id
} == %(py4)sÚh1Ú	player_id©Úpy0Úpy2Úpy4úassert %(py6)sÚpy6)zP%(py2)s
{%(py2)s = %(py0)s.theme
} == %(py6)s
{%(py6)s = %(py4)s.BAMBOO_SHRINE
}r   )r   r   r   r   úassert %(py8)sÚpy8é   )zU%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.map_device
}.total_portals
} == %(py7)s©r   r   r   Úpy7úassert %(py9)sÚpy9T©Úis)zQ%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.world_gate
}.is_active
} is %(py7)s)zQ%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.quest_gate
}.is_active
} is %(py7)s)zR%(py2)s
{%(py2)s = %(py0)s.hideout_id
} == %(py6)s
{%(py6)s = %(py4)s.hideout_id
}Úh2©z%(py0)s is %(py3)sÚok©r   Úpy3úassert %(py5)sÚpy5)zR%(py2)s
{%(py2)s = %(py0)s.theme
} == %(py6)s
{%(py6)s = %(py4)s.LUNAR_SANCTUARY
})Úget_or_create_hideoutr   ÚBAMBOO_SHRINEÚowner_player_idÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationr   Ú
map_deviceÚtotal_portalsÚ
world_gateÚ	is_activeÚ
quest_gateÚ
hideout_idÚchange_hideout_themeÚLUNAR_SANCTUARY)r   r   r   Ú@py_assert1Ú@py_assert3Ú@py_format5Ú@py_format7Ú@py_assert5Ú@py_format9Ú@py_assert6Ú@py_format8Ú@py_format10r$   r&   ÚmsgÚ@py_assert2Ú@py_format4Ú@py_format6s                     r   Ú test_hideout_creation_and_themesrK      se  € Ø#€IØ	×	%Ò	% iµ|Ô7QÐ	%Ñ	RÔ	R€BàÔÐ*Ð Ò*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð Ð*Ñ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*ˆ2Ñ*Ô*Ð*Õ*Ô*ˆ2Ñ*Ô*Ð*Ð*Õ*Ô*ÐÑ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô* Ñ*Ô*Ð*Õ*Ô* Ñ*Ô*Ð*Ð*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*ØŒ8Ð1•|Ô1Ð1ˆ8Ð1Ò1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1ˆ8Ð1Ð1Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1ˆ2Ñ1Ô1Ð1Õ1Ô1ˆ2Ñ1Ô1Ð1Ð1Õ1Ô1ˆ8Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1•|Ñ1Ô1Ð1Õ1Ô1•|Ñ1Ô1Ð1Ð1Õ1Ô1Ð1Ñ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ØŒ=Ð+ˆ=Ô&Ð+¨!Ð+Ð&¨!Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð&¨!Ð+Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+ˆ2Ñ+Ô+Ð+Õ+Ô+ˆ2Ñ+Ô+Ð+Ð+Õ+Ô+ˆ=Ñ+Ô+Õ+Ô+Ð&Ñ+Ô+Õ+Ô+¨!Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ØŒ=Ð*ˆ=Ô"Ð* dÐ*Ð" dÐ*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð" dÐ*Ñ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*ˆ2Ñ*Ô*Ð*Õ*Ô*ˆ2Ñ*Ô*Ð*Ð*Õ*Ô*ˆ=Ñ*Ô*Õ*Ô*Ð"Ñ*Ô*Õ*Ô* dÑ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ØŒ=Ð*ˆ=Ô"Ð* dÐ*Ð" dÐ*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð" dÐ*Ñ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*ˆ2Ñ*Ô*Ð*Õ*Ô*ˆ2Ñ*Ô*Ð*Ð*Õ*Ô*ˆ=Ñ*Ô*Õ*Ô*Ð"Ñ*Ô*Õ*Ô* dÑ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ð 
×	%Ò	% iÑ	0Ô	0€BØŒ=Ð)˜BœMÐ)ˆ=˜MÒ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)ˆ=˜MÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆ2Ñ)Ô)Ð)Õ)Ô)ˆ2Ñ)Ô)Ð)Ð)Õ)Ô)ˆ=Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)˜BÑ)Ô)Ð)Õ)Ô)˜BÑ)Ô)Ð)Ð)Õ)Ô)˜MÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ð ×)Ò)¨)µ\Ô5QÑRÔR�G€BˆØÐˆ2�ˆ:ÐÐÐÕÔÐÐÐÐˆ2�ÐÑÔÐÕÔÑÔÐÐÕÔˆ2ÑÔÐÕÔˆ2ÑÔÐÐÕÔ�ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØŒ8Ð3•|Ô3Ð3ˆ8Ð3Ò3Ð3Ð3Ð3Õ3Ô3Ð3Ð3Ð3Ð3ˆ8Ð3Ð3Ñ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3ˆ2Ñ3Ô3Ð3Õ3Ô3ˆ2Ñ3Ô3Ð3Ð3Õ3Ô3ˆ8Ñ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3•|Ñ3Ô3Ð3Õ3Ô3•|Ñ3Ô3Ð3Ð3Õ3Ô3Ð3Ñ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3r   c           	      ó   — d}t          ddddddd¬	¦  «        }|                      ||¦  «        \  }}}d
}||u }|s—t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}}t          |¦  «        }d}
||
k    }|sòt          j        d|fd||
f¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}
d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}}|D �]�}|d         }d
}||u }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        d œz  }d!d"|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|d#         }d}||k    }|slt          j        d|fd$||f¦  «        t          j        |¦  «        t          j        |¦  «        d œz  }d!d"|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|d%         }d&}||k    }|slt          j        d|fd$||f¦  «        t          j        |¦  «        t          j        |¦  «        d œz  }d!d"|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}�Œ�|                      |¦  «        }|d'         d(         }d}||k    }|slt          j        d|fd$||f¦  «        t          j        |¦  «        t          j        |¦  «        d œz  }d!d"|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|d'         d)         }d}||k    }|slt          j        d|fd$||f¦  «        t          j        |¦  «        t          j        |¦  «        d œz  }d!d"|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|d'         d#         }d}||k    }|slt          j        d|fd$||f¦  «        t          j        |¦  «        t          j        |¦  «        d œz  }d!d"|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}d S )*Nr   Úmap_vong_xoay_u_minhõ   VÃ²ng XoÃ¡y U Minh Cá»• Ä�á»‹aé   Úzone_blood_scale_ruinsé-   é   é   )Úmap_idÚnameÚtierÚzone_template_idÚitem_quantity_bonus_pctÚitem_rarity_bonus_pctÚmonster_pack_size_pctTr"   r%   r&   r'   r)   r*   r   r   ©z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sÚlenÚportals©r   Úpy1r(   r   r   r   zTier 14©Úin©z%(py1)s in %(py3)srG   ©r_   r(   Úis_open)z%(py1)s is %(py4)s©r_   r   r   r   rV   ©z%(py1)s == %(py4)sÚcolorz#a855f7r6   Úportals_remainingr7   )r   Úactivate_map_devicer.   r/   r0   r1   r2   r3   r4   r5   r\   Úget_hideout_summary)r   r   Ú
astral_mapr&   rG   r]   rH   r>   rI   rJ   rB   Ú@py_assert4rA   rC   Ú@py_assert0Úpr?   r@   Úsummarys                      r   Ú/test_astral_map_device_activation_and_6_portalsrp   .   s  € Ø#€IÝØ%Ø-ØØ1Ø "Ø Ø ðñ ô €Jð ×1Ò1°)¸ZÑHÔHÑ€BˆˆWØÐˆ2�ˆ:ÐÐÐÕÔÐÐÐÐˆ2�ÐÑÔÐÕÔÑÔÐÐÕÔˆ2ÑÔÐÕÔˆ2ÑÔÐÐÕÔ�ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÝˆw‰<Œ<Ð˜1Ðˆ<˜1ÒÐÐÐÕÔÐÐÐÐˆ<˜1ÐÑÔÐÕÔÑÔÐÐÕÔ�3ÑÔÐÕÔ�3ÑÔÐÐÐÕÔÑÔÐÐÕÔˆwÑÔÐÕÔˆwÑÔÐÐÕÔˆ<ÑÔÕÔ˜1ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØÐˆ9˜ÐÐÐÐÕÔÐÐÐÐˆ9˜ÐÑÔÕÔˆ9ÑÔÐÕÔÑÔÐÐÕÔ˜ÑÔÐÕÔ˜ÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐð ð 'ñ 'ˆØ�Œ|Ð#˜tÐ#ˆ|˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#ˆ|˜tÐ#Ñ#Ô#Õ#Ô#ˆ|Ñ#Ô#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø�ŒyÐ˜BÐˆy˜BŠÐÐÐÕÔÐÐÐÐˆy˜BÐÑÔÕÔˆyÑÔÕÔ˜BÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØ�ŒzÐ&˜YÐ&ˆz˜YÒ&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆz˜YÐ&Ñ&Ô&Õ&Ô&ˆzÑ&Ô&Õ&Ô&˜YÑ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ñ&à×(Ò(¨Ñ3Ô3€GØ�<Ô Ð!4Ô5Ð:¸Ð:Ð5¸Ò:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:Ð5¸Ð:Ñ:Ô:Õ:Ô:Ð5Ñ:Ô:Õ:Ô:¸Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ø�<Ô  Ô1Ð6°QÐ6Ð1°QÒ6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6Ð1°QÐ6Ñ6Ô6Õ6Ô6Ð1Ñ6Ô6Õ6Ô6°QÑ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ø�<Ô  Ô(Ð.¨BÐ.Ð(¨BÒ.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð(¨BÐ.Ñ.Ô.Õ.Ô.Ð(Ñ.Ô.Õ.Ô.¨BÑ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.r   c                 ó  — d}t          dddd¬¦  «        }|                      ||¦  «        \  }}}d}||u }|s—t          j        d|fd	||f¦  «        d
t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}}t          |¦  «        }d}
||
k    }|sòt          j        d|fd||
f¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}
d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}}d S )Nr   Úmap_invalidu   Vá»±c Tháº³m VÃ´ Cá»±crS   Úzone_boundless_sandstorm©rT   rU   rV   rW   Fr"   r%   r&   r'   r)   r*   r   r   r[   r\   r]   r^   r   r   z	Tier 1-16r`   rb   rG   rc   )r   ri   r.   r/   r0   r1   r2   r3   r4   r5   r\   )r   r   Úinvalid_mapr&   rG   r]   rH   r>   rI   rJ   rB   rl   rA   rC   rm   s                  r   Ú-test_astral_map_device_invalid_tier_rejectionrv   K   sé  € Ø#€IÝØØ%ØØ3ð	ñ ô €Kð ×1Ò1°)¸[ÑIÔIÑ€BˆˆWØÐˆ2�ˆ;ÐÐÐÕÔÐÐÐÐˆ2�ÐÑÔÐÕÔÑÔÐÐÕÔˆ2ÑÔÐÕÔˆ2ÑÔÐÐÕÔ�ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÝˆw‰<Œ<Ð˜1Ðˆ<˜1ÒÐÐÐÕÔÐÐÐÐˆ<˜1ÐÑÔÐÕÔÑÔÐÐÕÔ�3ÑÔÐÕÔ�3ÑÔÐÐÐÕÔÑÔÐÐÕÔˆwÑÔÐÕÔˆwÑÔÐÐÕÔˆ<ÑÔÕÔ˜1ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØÐˆ;˜#ÐÐÐÐÕÔÐÐÐÐˆ;˜#ÐÑÔÕÔˆ;ÑÔÐÕÔÑÔÐÐÕÔ˜#ÑÔÐÕÔ˜#ÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐr   c                 óh  — d}t          dddd¬¦  «        }|                      ||¦  «         |                      |¦  «        \  }}}d}||u }|s—t          j        d|fd	||f¦  «        d
t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        dœz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}}d }||u}|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}}|d         }
d}|
|k    }|slt          j        d|fd|
|f¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}
x}}t          d¦  «        D �]b}|                      |¦  «        \  }}}d}||u }|s—t          j        d|fd	||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}}d }||u}|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}}�Œd|                      |¦  «        \  }}}d}||u }|s—t          j        d|fd	||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}}d }||u}|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}}|d         }
d}|
|k    }|slt          j        d|fd|
|f¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}
x}}d}
|
|v }|s—t          j        d|fd |
|f¦  «        t          j        |
¦  «        d!t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd!d"œz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}
}|                      |¦  «        }|j        }|j        }d }||u }|s½t          j        d|fd#||f¦  «        d$t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d%œz  }d&d'|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}}|j        }|j        }d }||u }|s½t          j        d|fd(||f¦  «        d$t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d%œz  }d&d'|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}}|j        }|j        }d}||k    }|s½t          j        d|fd)||f¦  «        d$t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d%œz  }d&d'|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}}|                      |¦  «        \  }}}d*}||u }|s—t          j        d|fd	||f¦  «        d+t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd+t          j        |¦  «        dœz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}}d }||u }|s—t          j        d|fd	||f¦  «        d,t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd,t          j        |¦  «        dœz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}}d-}
|
|v }|s—t          j        d|fd |
|f¦  «        t          j        |
¦  «        d.t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd.d"œz  }dd|iz  }	t          t          j
        |	¦  «        ¦  «        ‚d x}
}d S )/Nr   Úmap_t10_hoa_quatu&   Luyá»‡n Ngá»¥c Hoang Cá»• Há»�a Quáº­té
   Úzone_purgatory_lava_cavernrt   Tr"   r%   Úok1r'   r)   r*   ©úis not©z%(py0)s is not %(py3)sÚres1rh   é   r   rf   re   r   r   é   r&   ÚresÚok_lastÚres_lastr   õ   Cá»”NG CUá»�I CÃ™NGr`   rb   Úmsg_lastrc   )zR%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.map_device
}.active_map
} is %(py7)sÚhideoutr   r    r!   )zZ%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.map_device
}.active_instance_id
} is %(py7)s)zY%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.map_device
}.portals_remaining
} == %(py7)sFÚok_failÚres_failz0/6Úmsg_fail)r   ri   Úenter_map_portalr.   r/   r0   r1   r2   r3   r4   r5   Úranger+   r6   Ú
active_mapÚactive_instance_idrh   )r   r   rk   r{   Úmsg1r   rH   r>   rI   rJ   rm   r?   r@   rA   Úir&   rG   r‚   rƒ   r†   r„   r‡   rD   rB   rE   rF   rˆ   rŠ   r‰   s                                r   Ú%test_map_portal_consumption_lifecycler‘   Z   sÄ  € Ø#€IÝØ!Ø5ØØ5ð	ñ ô €Jð ×Ò˜y¨*Ñ5Ô5Ð5ð ×-Ò-¨iÑ8Ô8�O€CˆˆtØÐˆ3�$ˆ;ÐÐÐÕÔÐÐÐÐˆ3�$ÐÑÔÐÕÔÑÔÐÐÕÔˆ3ÑÔÐÕÔˆ3ÑÔÐÐÕÔ�$ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆ4�tÐÐÐÐÕÔÐÐÐÐˆ4�tÐÑÔÐÕÔÑÔÐÐÕÔˆ4ÑÔÐÕÔˆ4ÑÔÐÐÕÔ�tÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐ#Ô$Ð)¨Ð)Ð$¨Ò)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð$¨Ð)Ñ)Ô)Õ)Ô)Ð$Ñ)Ô)Õ)Ô)¨Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)õ �1‰XŒXð ñ ˆØ×.Ò.¨yÑ9Ô9‰ˆˆC�ØÐˆr�TˆzÐÐÐÕÔÐÐÐÐˆr�TÐÑÔÐÕÔÑÔÐÐÕÔˆrÑÔÐÕÔˆrÑÔÐÐÕÔ�TÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆs˜$ˆÐÐÐÕÔÐÐÐÐˆs˜$ÐÑÔÐÕÔÑÔÐÐÕÔˆsÑÔÐÕÔˆsÑÔÐÐÕÔ˜$ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÑð #)×"9Ò"9¸)Ñ"DÔ"DÑ€GˆX�xØÐˆ7�dˆ?ÐÐÐÕÔÐÐÐÐˆ7�dÐÑÔÐÕÔÑÔÐÐÕÔˆ7ÑÔÐÕÔˆ7ÑÔÐÐÕÔ�dÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆ8˜4ÐÐÐÐÕÔÐÐÐÐˆ8˜4ÐÑÔÐÕÔÑÔÐÐÕÔˆ8ÑÔÐÕÔˆ8ÑÔÐÐÕÔ˜4ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐ'Ô(Ð-¨AÐ-Ð(¨AÒ-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð(¨AÐ-Ñ-Ô-Õ-Ô-Ð(Ñ-Ô-Õ-Ô-¨AÑ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø Ð,Ð  HÐ,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð  HÐ,Ñ,Ô,Õ,Ô,Ð Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô, HÑ,Ô,Ð,Õ,Ô, HÑ,Ô,Ð,Ð,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,ð ×*Ò*¨9Ñ5Ô5€GØÔÐ0ÐÔ(Ð0¨DÐ0Ð(¨DÐ0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð(¨DÐ0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆ7Ñ0Ô0Ð0Õ0Ô0ˆ7Ñ0Ô0Ð0Ð0Õ0Ô0ÐÑ0Ô0Õ0Ô0Ð(Ñ0Ô0Õ0Ô0¨DÑ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØÔÐ8ÐÔ0Ð8°DÐ8Ð0°DÐ8Ð8Ð8Ð8Õ8Ô8Ð8Ð8Ð8Ð8Ð0°DÐ8Ñ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8ˆ7Ñ8Ô8Ð8Õ8Ô8ˆ7Ñ8Ô8Ð8Ð8Õ8Ô8ÐÑ8Ô8Õ8Ô8Ð0Ñ8Ô8Õ8Ô8°DÑ8Ô8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8ØÔÐ4ÐÔ/Ð4°1Ð4Ð/°1Ò4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4Ð/°1Ð4Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4ˆ7Ñ4Ô4Ð4Õ4Ô4ˆ7Ñ4Ô4Ð4Ð4Õ4Ô4ÐÑ4Ô4Õ4Ô4Ð/Ñ4Ô4Õ4Ô4°1Ñ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ð #)×"9Ò"9¸)Ñ"DÔ"DÑ€GˆX�xØÐˆ7�eÐÐÐÐÕÔÐÐÐÐˆ7�eÐÑÔÐÕÔÑÔÐÐÕÔˆ7ÑÔÐÕÔˆ7ÑÔÐÐÕÔ�eÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆ8�tÐÐÐÐÕÔÐÐÐÐˆ8�tÐÑÔÐÕÔÑÔÐÐÕÔˆ8ÑÔÐÕÔˆ8ÑÔÐÐÕÔ�tÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐˆ5�HÐÐÐÐÕÔÐÐÐÐˆ5�HÐÑÔÕÔˆ5ÑÔÐÕÔÑÔÐÐÕÔ�HÑÔÐÕÔ�HÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐr   c                 óT  — d}|                       |d¦  «        \  }}}d}||u }|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}|d
         }	d}
|	|
k    }|slt          j        d|fd|	|
f¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}	x}}
|d         }	d}
|	|
k    }|slt          j        d|fd|	|
f¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}	x}}
|                       |d¦  «        \  }}}d}||u }|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}d}	|	|v }|s—t          j        d|fd|	|f¦  «        t          j        |	¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d x}	}d S )Nr   rs   Tr"   r%   r&   r'   r)   r*   Útarget_zone_nameu   Sa Cá»‘t Hoang Máº¡cr   rf   re   r   r   Ú	min_levelé   Úzone_fake_realmFÚok_badu   khÃ´ng tá»“n táº¡ir`   rb   Úmsg_badrc   )	Úconfigure_world_gater.   r/   r0   r1   r2   r3   r4   r5   )r   r   r&   rG   ÚpayloadrH   r>   rI   rJ   rm   r?   r@   rA   r—   r˜   Ú_s                   r   Útest_world_gate_configurationrœ   …   sé  € Ø#€Ið ×2Ò2°9Ð>XÑYÔYÑ€BˆˆWØÐˆ2�ˆ:ÐÐÐÕÔÐÐÐÐˆ2�ÐÑÔÐÕÔÑÔÐÐÕÔˆ2ÑÔÐÕÔˆ2ÑÔÐÐÕÔ�ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐ%Ô&Ð@Ð*@Ð@Ð&Ð*@Ò@Ð@Ð@Ð@Õ@Ô@Ð@Ð@Ð@Ð@Ð&Ð*@Ð@Ñ@Ô@Õ@Ô@Ð&Ñ@Ô@Õ@Ô@Ð*@Ñ@Ô@Ð@Ð@Ñ@Ð@Ð@Ð@Ð@Ð@Ñ@Ð@Õ@Õ@Ô@Ð@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ø�;ÔÐ% 2Ð%Ð 2Ò%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%Ð 2Ð%Ñ%Ô%Õ%Ô%ÐÑ%Ô%Õ%Ô% 2Ñ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ð  ×4Ò4°YÐ@QÑRÔRÑ€FˆG�QØÐˆ6�Uˆ?ÐÐÐÕÔÐÐÐÐˆ6�UÐÑÔÐÕÔÑÔÐÐÕÔˆ6ÑÔÐÕÔˆ6ÑÔÐÐÕÔ�UÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐ*Ð 7Ð*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð 7Ð*Ñ*Ô*Õ*Ô*ÐÑ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô* 7Ñ*Ô*Ð*Õ*Ô* 7Ñ*Ô*Ð*Ð*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*r   c                 ó¦  — d}|                       |ddddd¬¦  «        \  }}}d}||u }|s—t          j        d	|fd
||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}}|d         }	d}
|	|
k    }|slt          j        d|fd|	|
f¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}	x}}
|d         }	d}
|	|
k    }|slt          j        d|fd|	|
f¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}	x}}
|d         }	d}
|	|
k    }|slt          j        d|fd|	|
f¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}	x}}
d S )Nr   Úquest_story_02_hac_giaou   Tráº£m Diá»‡t Háº¯c GiaoÚzone_abyssal_ice_pondg     €V@g     €f@)r   Úquest_idÚquest_titleÚtarget_zone_idÚobjective_xÚobjective_yTr"   r%   r&   r'   r)   r*   r¡   r   rf   re   r   r   r“   u   Vá»±c Ä�áº§m BÄƒng Ä�á»™cÚvortex_colorz#fbbf24)	Úconfigure_quest_gater.   r/   r0   r1   r2   r3   r4   r5   )r   r   r&   rG   rš   rH   r>   rI   rJ   rm   r?   r@   rA   s                r   Útest_quest_gate_configurationr§   ”   s  € Ø#€Ià×2Ò2ØØ*Ø.Ø.ØØð 3ñ ô Ñ€BˆˆWð Ðˆ2�ˆ:ÐÐÐÕÔÐÐÐÐˆ2�ÐÑÔÐÕÔÑÔÐÐÕÔˆ2ÑÔÐÕÔˆ2ÑÔÐÐÕÔ�ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�=Ô!Ð?Ð%?Ð?Ð!Ð%?Ò?Ð?Ð?Ð?Õ?Ô?Ð?Ð?Ð?Ð?Ð!Ð%?Ð?Ñ?Ô?Õ?Ô?Ð!Ñ?Ô?Õ?Ô?Ð%?Ñ?Ô?Ð?Ð?Ñ?Ð?Ð?Ð?Ð?Ð?Ñ?Ð?Õ?Õ?Ô?Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?ØÐ%Ô&ÐEÐ*EÐEÐ&Ð*EÒEÐEÐEÐEÕEÔEÐEÐEÐEÐEÐ&Ð*EÐEÑEÔEÕEÔEÐ&ÑEÔEÕEÔEÐ*EÑEÔEÐEÐEÑEÐEÐEÐEÐEÐEÑEÐEÕEÕEÔEÐEÑEÔEÑEÔEÐEÐEÐEÐEÐEÐEÐEØ�>Ô"Ð/ iÐ/Ð" iÒ/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð" iÐ/Ñ/Ô/Õ/Ô/Ð"Ñ/Ô/Õ/Ô/ iÑ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/r   c                 óø  — d}|                       |t          j        ¦  «        \  }}}d}||u }|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}|d	         }	d
}
|	|
k    }|slt          j        d|fd|	|
f¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}	x}}
|                       |t          j        ¦  «        \  }}}d}||u }|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}|d	         }	d}
|	|
k    }|slt          j        d|fd|	|
f¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}	x}}
|                       |t          j        ¦  «        \  }}}d}||u }|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}|d	         }	d}
|	|
k    }|slt          j        d|fd|	|
f¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}	x}}
|                       |t          j        ¦  «        \  }}}d}||u }|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}|d	         }	d}
|	|
k    }|slt          j        d|fd|	|
f¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}	x}}
|                       |t          j        ¦  «        \  }}}d}||u }|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}|d	         }	d}
|	|
k    }|slt          j        d|fd|	|
f¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}	x}}
d S )Nr   Tr"   r%   r&   r'   r)   r*   ÚfacilityÚSTASHr   rf   re   r   r   ÚFORGEÚMERIDIANÚ	AGENT_ORBÚ
MAP_DEVICE)Úinteract_facilityr   ÚCONSIGNMENT_STASH_VAULTr.   r/   r0   r1   r2   r3   r4   r5   ÚPRIMAL_FORGE_CAULDRONÚMERIDIAN_MEDITATION_MATÚAGENT_ORB_ALTARÚASTRAL_MAP_DEVICE)r   r   r&   rG   ÚdatarH   r>   rI   rJ   rm   r?   r@   rA   s                r   Ú#test_hideout_facilities_interactionr¶   ¥   s¿  € Ø#€Ið ×,Ò,¨Y½Ô8\Ñ]Ô]�M€BˆˆTØÐˆ2�ˆ:ÐÐÐÕÔÐÐÐÐˆ2�ÐÑÔÐÕÔÑÔÐÐÕÔˆ2ÑÔÐÕÔˆ2ÑÔÐÐÕÔ�ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�
ÔÐ&˜wÐ&Ð˜wÒ&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&Ð˜wÐ&Ñ&Ô&Õ&Ô&ÐÑ&Ô&Õ&Ô&˜wÑ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ð ×,Ò,¨Y½Ô8ZÑ[Ô[�M€BˆˆTØÐˆ2�ˆ:ÐÐÐÕÔÐÐÐÐˆ2�ÐÑÔÐÕÔÑÔÐÐÕÔˆ2ÑÔÐÕÔˆ2ÑÔÐÐÕÔ�ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�
ÔÐ&˜wÐ&Ð˜wÒ&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&Ð˜wÐ&Ñ&Ô&Õ&Ô&ÐÑ&Ô&Õ&Ô&˜wÑ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ð ×,Ò,¨Y½Ô8\Ñ]Ô]�M€BˆˆTØÐˆ2�ˆ:ÐÐÐÕÔÐÐÐÐˆ2�ÐÑÔÐÕÔÑÔÐÐÕÔˆ2ÑÔÐÕÔˆ2ÑÔÐÐÕÔ�ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�
ÔÐ)˜zÐ)Ð˜zÒ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð˜zÐ)Ñ)Ô)Õ)Ô)ÐÑ)Ô)Õ)Ô)˜zÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ð ×,Ò,¨Y½Ô8TÑUÔU�M€BˆˆTØÐˆ2�ˆ:ÐÐÐÕÔÐÐÐÐˆ2�ÐÑÔÐÕÔÑÔÐÐÕÔˆ2ÑÔÐÕÔˆ2ÑÔÐÐÕÔ�ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�
ÔÐ*˜{Ð*Ð˜{Ò*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð˜{Ð*Ñ*Ô*Õ*Ô*ÐÑ*Ô*Õ*Ô*˜{Ñ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ð ×,Ò,¨Y½Ô8VÑWÔW�M€BˆˆTØÐˆ2�ˆ:ÐÐÐÕÔÐÐÐÐˆ2�ÐÑÔÐÕÔÑÔÐÐÕÔˆ2ÑÔÐÕÔˆ2ÑÔÐÐÕÔ�ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�
ÔÐ+˜|Ð+Ð˜|Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð˜|Ð+Ñ+Ô+Õ+Ô+ÐÑ+Ô+Õ+Ô+˜|Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+r   c                 ó¨  — ddl m}  |¦   «         }d}t          dddd¬¦  «        }|                      |||¬	¦  «        \  }}}d
}||u }	|	s—t	          j        d|	fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }
dd|
iz  }t          t	          j        |¦  «        ¦  «        ‚dx}	}|d         }|j        }||v }	|	sÕt	          j        d|	fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nddt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}	}t          d¦  «        D �]§}|                      ||¬	¦  «        \  }}}d
}||u }	|	s—t	          j        d|	fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }
dd|
iz  }t          t	          j        |¦  «        ¦  «        ‚dx}	}|j        }||v }	|	sÕt	          j        d|	fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nddt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}	}�Œ©|                      ||¬	¦  «        \  }}}d
}||u }	|	s—t	          j        d|	fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }
dd|
iz  }t          t	          j        |¦  «        ¦  «        ‚dx}	}d}||u}	|	s—t	          j        d|	fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }
dd|
iz  }t          t	          j        |¦  «        ¦  «        ‚dx}	}|d          }d}||k    }|slt	          j        d!|fd"||f¦  «        t	          j	        |¦  «        t	          j	        |¦  «        d#œz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}}d$}||v }|s—t	          j        d|fd%||f¦  «        t	          j	        |¦  «        d&t          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nd&d'œz  }
dd|
iz  }t          t	          j        |¦  «        ¦  «        ‚dx}}|j        }||v}	|	sÕt	          j        d(|	fd)||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nddt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}	}|                      |¦  «        j        }|j        }	d}|	|u }|sªt	          j        d|fd*|	|f¦  «        d+t          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nd+t	          j	        |	¦  «        t	          j	        |¦  «        d,œz  }d-d.|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}	x}}|j        }	d}|	|u }|sªt	          j        d|fd/|	|f¦  «        d+t          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nd+t	          j	        |	¦  «        t	          j	        |¦  «        d,œz  }d-d.|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}	x}}|j        }	d}|	|k    }|sªt	          j        d!|fd0|	|f¦  «        d+t          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nd+t	          j	        |	¦  «        t	          j	        |¦  «        d,œz  }d-d.|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}	x}}dS )1zkVerifies that consuming all 6 portals purges InstanceSession from ZoneEngine and clears active_instance_id.r   )Ú
ZoneEnginer   Úmap_t14_blood_scalerN   rO   rP   rt   )Úzone_engineTr"   r%   r&   r'   r)   r*   NÚinstance_idr`   )z8%(py0)s in %(py4)s
{%(py4)s = %(py2)s.active_instances
}Úinst_idÚzer   r   r   r€   Úok_enterÚok_finalr|   r~   Ú	res_finalrh   r   rf   re   r…   rb   Ú	msg_finalrc   )únot in)z<%(py0)s not in %(py4)s
{%(py4)s = %(py2)s.active_instances
})z:%(py2)s
{%(py2)s = %(py0)s.active_instance_id
} is %(py5)sÚdev)r   r   r*   zassert %(py7)sr   )z2%(py2)s
{%(py2)s = %(py0)s.active_map
} is %(py5)s)z9%(py2)s
{%(py2)s = %(py0)s.portals_remaining
} == %(py5)s)Úserver.world.zone_enginer¸   r   Úcreate_map_instance_sessionr.   r/   r0   r1   r2   r3   r4   r5   Úactive_instancesrŒ   r‹   r+   r6   rŽ   r�   rh   )r   r¸   r½   r   rk   r&   r›   r‚   rH   r>   rI   rJ   r¼   r?   r@   rA   r¾   r¿   rÁ   rÀ   rm   rÃ   rl   rE   s                           r   Ú<test_map_device_portal_exhaustion_cleans_zone_engine_sessionrÇ   Â   s  € à3Ð3Ð3Ð3Ð3Ð3à	ˆ‰Œ€BØ#€IÝØ$Ø-ØØ1ð	ñ ô €Jð ×3Ò3°I¸zÐWYÐ3ÑZÔZ�J€Bˆˆ3ØÐˆ2�ˆ:ÐÐÐÕÔÐÐÐÐˆ2�ÐÑÔÐÕÔÑÔÐÐÕÔˆ2ÑÔÐÕÔˆ2ÑÔÐÐÕÔ�ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�-Ô €GØÔ)Ð)ˆ7Ð)Ð)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)ˆ7Ð)Ð)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆ7Ñ)Ô)Ð)Õ)Ô)ˆ7Ñ)Ô)Ð)Ð)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)�bÑ)Ô)Ð)Õ)Ô)�bÑ)Ô)Ð)Ð)Õ)Ô)Ð)Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)õ �1‰XŒXð .ñ .ˆØ×0Ò0°ÈÐ0ÑKÔK‰ˆ�!�QØÐˆx˜4ÐÐÐÐÕÔÐÐÐÐˆx˜4ÐÑÔÐÕÔÑÔÐÐÕÔˆxÑÔÐÕÔˆxÑÔÐÐÕÔ˜4ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÔ-Ð-ˆwÐ-Ð-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-ˆwÐ-Ð-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-ˆwÑ-Ô-Ð-Õ-Ô-ˆwÑ-Ô-Ð-Ð-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-˜"Ñ-Ô-Ð-Õ-Ô-˜"Ñ-Ô-Ð-Ð-Õ-Ô-Ð-Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ñ-ð &,×%<Ò%<¸YÐTVÐ%<Ñ%WÔ%WÑ"€Hˆi˜ØÐˆ8�tÐÐÐÐÕÔÐÐÐÐˆ8�tÐÑÔÐÕÔÑÔÐÐÕÔˆ8ÑÔÐÕÔˆ8ÑÔÐÐÕÔ�tÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ Ð ˆ9˜DÐ Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆ9˜DÐ Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˆ9Ñ Ô Ð Õ Ô ˆ9Ñ Ô Ð Ð Õ Ô ˜DÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð ØÐ(Ô)Ð.¨QÐ.Ð)¨QÒ.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð)¨QÐ.Ñ.Ô.Õ.Ô.Ð)Ñ.Ô.Õ.Ô.¨QÑ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ø Ð-Ð  IÐ-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð  IÐ-Ñ-Ô-Õ-Ô-Ð Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô- IÑ-Ô-Ð-Õ-Ô- IÑ-Ô-Ð-Ð-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-ð Ô-Ð-ˆ7Ð-Ð-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-ˆ7Ð-Ð-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-ˆ7Ñ-Ô-Ð-Õ-Ô-ˆ7Ñ-Ô-Ð-Ð-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-˜"Ñ-Ô-Ð-Õ-Ô-˜"Ñ-Ô-Ð-Ð-Õ-Ô-Ð-Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ø
×
&Ò
& yÑ
1Ô
1Ô
<€CØÔ!Ð) TÐ)Ð! TÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð! TÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆ3Ñ)Ô)Ð)Õ)Ô)ˆ3Ñ)Ô)Ð)Ð)Õ)Ô)Ð!Ñ)Ô)Õ)Ô) TÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØŒ>Ð!˜TÐ!ˆ>˜TÐ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆ>˜TÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Ð!Õ!Ô!ˆ>Ñ!Ô!Õ!Ô!˜TÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ØÔ Ð% AÐ%Ð  AÒ%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%Ð  AÐ%Ñ%Ô%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%ˆ3Ñ%Ô%Ð%Õ%Ô%ˆ3Ñ%Ô%Ð%Ð%Õ%Ô%Ð Ñ%Ô%Õ%Ô% AÑ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%r   )Ú__doc__Úbuiltinsr0   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter.   ÚpytestÚserver.world.hideout_enginer   r   r   r   r   Úfixturer   rK   rp   rv   r‘   rœ   r§   r¶   rÇ   r
   r   r   ú<module>rÐ      s¿  ððð ð € € € € € € € € € € € € €€€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð „ð�ð ð ð ñ „ðð4¨]ð 4¸tð 4ð 4ð 4ð 4ð(/¸Mð /Èdð /ð /ð /ð /ð:¸-ð ÈDð ð ð ð ð(°-ð (ÀDð (ð (ð (ð (ðV+¨-ð +¸Dð +ð +ð +ð +ð0¨-ð 0¸Dð 0ð 0ð 0ð 0ð",°ð ,À$ð ,ð ,ð ,ð ,ð:$&Èð $&Ð[_ð $&ð $&ð $&ð $&ð $&ð $&r   